7

次のようなスクリプトがあります。

#!/bin/csh
echo "This is the main programme"
./printsth

printsth相対パスを使用して、このスクリプト内からスクリプトを呼び出したいです。そうする方法はありますか?相対パスとは、呼び出し元のスクリプトがある場所からの相対パスを意味します。

4

2 に答える 2

2

./printsth相対パスはメインスクリプトが実行されたディレクトリに依存するため、スクリプトを as として実行しても常に機能するとは限りません。

1 つの解決策は、スクリプトが存在するディレクトリを入力してから実行することです。

cd -P -- "$(dirname -- "$0")"
./printsth

その他の例については、現在の作業ディレクトリをスクリプトのディレクトリに設定する方法を参照してください。

参照:絶対パスを相対パスに変換する方法

于 2015-10-04T19:12:06.233 に答える