現在利用しているシェルの確認

[root@new-host ~]# echo $SHELL
/bin/bash

のようにして確認ができる。この例だとbashである。

シェルの種類

ログインシェルユーザがログインした際に、最初に用いるシェル。/etc/passwdファイルにどのシェルを用いるかが記載されている。

シェルスクリプト一般的にBシェルが使われる。BシェルはUnix系OSなら必ず存在するため、互換性維持のためにBシェルを用いる。Bシェル以外のシェルたと他のマシンに移植したときに動作するかの保障がない。ただしBシェルはコマンド数が少ないため、ログインシェルにあまり用いられない。

bashとBシェルの違い

bashはBシェルの上位互換なので、Bシェルでできてbashでできないということはない。しかし逆はありうるので注意する必要がある。
各シェルの違いはここを参照にすること。

/bin/sh

Ubuntuではデフォルトで

root@pide-virtual-machine:/home/pide# ls -al /bin/sh
lrwxrwxrwx 1 root root 4  5月  2 14:48 /bin/sh -> dash

CentOSではデフォルトで

[root@new-host ~]# ls -al /bin/sh
lrwxrwxrwx 1 root root 4  7月  2  2012 /bin/sh -> bash

となっており、両者で指すものが異なることに注意。