次のようなスクリプトがあります。
#!/bin/csh
echo "This is the main programme"
./printsth
printsth
相対パスを使用して、このスクリプト内からスクリプトを呼び出したいです。そうする方法はありますか?相対パスとは、呼び出し元のスクリプトがある場所からの相対パスを意味します。
次のようなスクリプトがあります。
#!/bin/csh
echo "This is the main programme"
./printsth
printsth
相対パスを使用して、このスクリプト内からスクリプトを呼び出したいです。そうする方法はありますか?相対パスとは、呼び出し元のスクリプトがある場所からの相対パスを意味します。
./printsth
相対パスはメインスクリプトが実行されたディレクトリに依存するため、スクリプトを as として実行しても常に機能するとは限りません。
1 つの解決策は、スクリプトが存在するディレクトリを入力してから実行することです。
cd -P -- "$(dirname -- "$0")"
./printsth
その他の例については、現在の作業ディレクトリをスクリプトのディレクトリに設定する方法を参照してください。