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コマンドによってシェルを変更できることが多い。