ファイルのあるパスにあるファイルにアクセスするには、スクリプトを実行する必要があります。
例:/home/me/folder/script.sh
ファイルにアクセスするスクリプトがあります/home/me/folder/myfile
。ファイルはスクリプトと同じパスにあるため、フルパスではmyfile
なく名前のみを使用しました。
しかし、次のように実行すると/tmp/
:
/tmp$ /home/me/folder/script.sh
それは私に以下を与えます:
myfile: No such file or directory
もしそうなら、スクリプトはファイルがスクリプト自体と同じパスにあるとどうすればいいですか?
ベストアンサー1
すべてのケースはわかりませんが、通常(常にそうではない)シェルが検索するのではなく、パスでスクリプトを実行すると、スクリプトパスはに$PATH
あります$0
。その後、またはdirname "$0"
を使用して${0%/*}
パスを取得できます。