「コマンドが見つかりません」エラーで「bash」の前のダッシュ「-」とはどういう意味ですか?

「コマンドが見つかりません」エラーで「bash」の前のダッシュ「-」とはどういう意味ですか?

Bash プロンプトで無効なコマンドを入力すると、次のメッセージが表示されます。

-bash: {command}: command not found

-最初はどういう意味ですか?

ベストアンサー1

これはログインシェルであることを意味します。

からman bash

ログインシェルの引数を持たない最初の文字は、-または--loginオプションで始まります。

bash用語「zero」パラメータはコマンド名であり、あなたの場合はですbash。) bashこれをシグナルとして使用して、実行などのログインアクティビティを実行します.bash_profile

ダッシュを自動的に追加する1つの方法は、シェルを起動することですexec。 ~からバッシュマニュアル:

exec [-cl] [-a name] [command [arguments]]

[...]-lこのオプションが指定されている場合、シェルは渡された0番目の引数の先頭にダッシュを配置します。注文する

はい

コマンドを実行する2つの試みを比較してくださいnonexistent。まず、次はありません-l

$ exec bash
$ nonexistent
bash: nonexistent: command not found

第二に、:

$ exec -l bash
$ nonexistent
-bash: nonexistent: command not found

おすすめ記事