プロセスの状態を表示するhtopまたは他のコマンドでは、すべてのbashプロセスはコマンドバーにあります。
/bin/bash
しかし、コマンドバーにはプロセスがあります
-bash
どういう意味ですか?
答え1
コマンド名の前のマイナス記号は、ログインプログラムがログインシェルを起動するために使用するルールです。ログインプログラムはlogin
、、、、sshdなどのように通常パスワードを入力してセッションを開始するプログラムですsudo -i
。su -
ログインシェルは、テキストモードセッションの初期シェルです。
通常、プログラムが別のプログラムを呼び出すと、プログラム名を引数0に渡します。コマンドライン引数は1から始まり、番号が付けられます。たとえば、を実行すると、通常のシステム上の実行可能ファイルがcp foo bar
実行され、引数0、引数1、および引数2に渡されます。一般的なルールは、実行可能ファイルのデフォルト名を引数0として使用することです。ログインプログラムがシェルを呼び出すと、この規則に違反し、プログラム名の前に追加のハイフンが追加されます。シェルはこれらの代替規則を理解し、通常、、などの初期化ファイルを読み取るシェルに基づいてログインシェルに対して適切に設定します。/bin/cp
cp
foo
bar
~/.profile
~/.login
~/.bash_profile
また、見ることができますログインシェルと非ログインシェルの違いは何ですか?