コマンド「t.sh」「の違いは何ですか。t.sh」「/ t.sh」「./ t.sh」?[複製]

Aug 24 2020

私はシェルに慣れていないので、この種の質問に固執しました。これらのコマンドを区別する最も簡単な方法は何ですか?

回答

12 steeldriver Aug 24 2020 at 04:55
  • for t.shthe shellは、PATHという名前のファイルを順番に検索し、t.sh見つかった場合は実行します。

  • for . t.shthe 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でのファイルの実行の違いは何ですか?