nixCraftは11月19日(米国時間)、「How do I find out what shell I am using on Linux/Unix? - nixCraft」において、現在使用しているシェルを調べる方法を紹介した。紹介されているコマンドの主な使い方は次のとおり。

コマンド 内容
echo "$SHELL" シェル名。ただし、この環境変数を設定しないシェルもありそれほど信頼できない
ps -p $$ 現在使っているシェルのプロセス情報を表示
echo $0 現在使っているシェル名を表示
cat /etc/shells システムにインストールされているシェルを一覧表示
grep "^$USER" /etc/passwd ターミナル起動時にデフォルトで使われるシェルを表示
chsh デフォルトのシェルを変更する
  • 使っているシェルを調べる方法の実行サンプル

    使っているシェルを調べる方法の実行サンプル

記事で紹介されている方法はbash、zsh、tcsh、kshなど、多くのシェルに対して適用できるが、fishのように異なる変数名を使っているシェルには適用できない。紹介されているコマンドと同じ効果をfishで得るには、次のようにコマンドを実行する。

コマンド 内容
echo "$SHELL" シェル名。ただし、この環境変数を設定しないシェルもありそれほど信頼できない
ps -p %self 現在使っているシェルのプロセス情報を表示
ps -p %self | tail +2 | awk '{print $NF}' 現在使っているシェル名を表示
cat /etc/shells システムにインストールされているシェルを一覧表示
grep "^$USER" /etc/passwd ターミナル起動時にデフォルトで使われるシェルを表示
chsh デフォルトのシェルを変更する

デフォルトで使用するシェルは設定によって変更することができるが、chshコマンドによってシェルを変更できることが多い。