shファイルの実行は、スクリプトディレクトリにCDを移動した場合にのみ機能します。

shファイルの実行は、スクリプトディレクトリにCDを移動した場合にのみ機能します。

.sh構文を介して./file.shファイルを実行しようとしています。誤って走ることができると思いました。

./usr/bin/foo/bar.sh

しかし、以下を"No such file or directory"実行すると。

cd /usr/bin/foo && ./bar.sh

完璧に動作します。最初の方法が機能しないのはなぜですか?

(私はLubuntu 14を使用しています)

ベストアンサー1

これ。ディレクトリパスの先頭は、現在の作業ディレクトリから始まる相対パスであることを示します。それ以外の場合は、ファイルシステムのルートから起動されます。

/usr/bin/foo/bar.shしたがって、前のポイントなしで実行する必要があります。
これは、ファイルと同じディレクトリにある場合にのみ必要であり、ディレクトリを追加せずにどこでも実行できる同じ名前の/ binにある既存の既存のファイルと区別するために必要です。

おすすめ記事