コマンド「t.sh」「の違いは何ですか。t.sh」「/ t.sh」「./ t.sh」?[複製]
Aug 24 2020
私はシェルに慣れていないので、この種の質問に固執しました。これらのコマンドを区別する最も簡単な方法は何ですか?
回答
12 steeldriver Aug 24 2020 at 04:55
for
t.sh
the shellは、PATH
という名前のファイルを順番に検索し、t.sh
見つかった場合は実行します。for
. t.sh
the shellは、PATH
という名前のファイルを順番に検索しますt.sh
が、見つかった場合はソースを取得します。bashシェルの場合、次のように、ソースコマンドの検索動作には追加の考慮事項があります
man bash
。
When bash is not in posix mode, the current directory is searched if no file is found in PATH. If the sourcepath option to the shopt builtin command is turned off, the PATH is not searched.
以下のため
/t.sh
のシェルファイルを探しますt.sh
ファイルシステムのルートディレクトリに/
、それを実行しようと以下のため
./t.sh
のシェルファイルを探しますt.sh
シェルの現在の作業ディレクトリに.
し、それを実行しようと
も参照してください
「sourcefile.sh」、「。/file.sh」、「sh file.sh」、「」を使用してシェルスクリプトを実行する場合の違いは何ですか。./file.sh」?
ソーシング(「。」または「ソース」)とbashでのファイルの実行の違いは何ですか?