Shell

Unixで今使っているコマンドシェルを調べる方法

Unixマシンで使えるコマンドシェルには、bashやcsh、zshなど様々なものがありますが、いろいろな環境を触っていると自分が使っているマシンが果たしてどのコマンドシェルを使っているのかわからなくなる時があります。

$shellという変数を表示させて調べることもできますが


% echo $shell
/bin/csh

 

環境によっては値が設定されていない場合があります。

 

また、/etc/passwdを見てみるという手もあります。


cat /etc/passwd | grep myaccount 
myaccount:*:1156:1000:User &:/home/myaccount:/bin/csh

 

その他に、次のコマンドでも調べることができます。


ps -p $$

 

$$は現在のプロセス、つまりコマンドラインであれば、コマンドシェル自体のプロセスIDを示す特殊変数ですが、これをpsコマンドのpオプション 使って渡して、コマンドシェルの情報を表示させています。