質問: bashの対話シェルでログイン直後echo $0したとき、"-bash"のようになぜハイフンが付与されて出力されるのか疑問です。 ``` # ログイン直後 $ echo $0 -bash $ bash $ echo $0 bash $ ``` 以上宜しくお願いいたします。
回答: ログインシェルのことですね。 bash をプログラムとして起動するとき、オプション - または --login が付加された際にスタートするシェル。 sudo su - bash --login ssh foo@example.com のようにログインした直後は、psコマンドで-bashのように表示されます。 ログインシェルからbashなどを子プロセスで起動した場合はbashのようにpsコマンド表示されます。