相対パスを介してスクリプト内で呼び出されると、どの実行ファイルが呼び出されますか?

相対パスを介してスクリプト内で呼び出されると、どの実行ファイルが呼び出されますか?

mm次のスクリプトがあるとしますdir1

#Contents of mm
echo "Hello Main!"
./hd

私のパスワードはですdir2。次に、次を実行しますmm

$ ../dir1/mm

hdと呼ばれるdir1実行可能ファイルがありますdir2。私はそれを試してhd実行しdir2ました。hdで実行しないのはなぜですかdir1

ベストアンサー1

これは、ファイルを実行してもプロセスの現在の作業ディレクトリがファイルディレクトリに変更されないためです。

実行ファイルは、実行後にオプションで実行できます。たとえば、私は時々これを行います。

cd "$(dirname "$0")" 

私のスクリプトでは、現在の作業ディレクトリが実行可能ファイルディレクトリであることを確認していますが、そうする義務はありません。

おすすめ記事