回答編集履歴

1

シェルについて補足

2016/03/31 00:34

投稿

unau
unau

スコア2468

test CHANGED
@@ -3,3 +3,47 @@
3
3
  違いが出てくるのは、次回ログインしたとき、など、別の bash が起動したときです。もし、`~/.bashrc`
4
4
 
5
5
  に記述していない場合は、次回起動したときには再度パスを設定しなおす必要があります。`~/.zshrc` にパスを通す設定を書いた、ということは、zsh のほうでは次回 zsh を起動したときには、パスが通っている、ということになります。
6
+
7
+
8
+
9
+ ---
10
+
11
+ シェルについて補足します(一部は別の質問への私の回答を抜粋)。
12
+
13
+
14
+
15
+ bash は、いわゆるシェル(shell : 殻)の一種であり、カーネル (kernel : 核) が提供するさまざまなサービス(プロセスとかファイルシステムとかネットワークとか)を利用するための窓口です。「核」を直接いじるのはめんどいので、使いやすいインタフェースとして「殻」があるわけです。
16
+
17
+
18
+
19
+ シェルは、単なる「殻」、あくまでも使いやすくするためのインタフェースなので、代替がいろいろあります。Linux などでは bash が標準でしょうが、sh, bsh しか入っていない Unix系 OS もあります。システムの内部で使うだけでなく、人間が使うのに便利なように開発されたシェルも古くは csh, tcsh とかありましたが、zsh なんかも人気があるんですかね(古い人間なのでよく知りません)。
20
+
21
+
22
+
23
+ CentOS だとデフォルト bash ですが、他のシェルを選ぶこともできます。zsh が使いたければ zsh をインストールし、任意のシェルから起動することもできますし、特定のユーザがログインしたときに使われるログインシェルは `/etc/passwd` で設定します。
24
+
25
+ ```
26
+
27
+ $ grep $USER /etc/passwd
28
+
29
+ ```
30
+
31
+ とかやると、自分の使うログインシェルが確認できます。
32
+
33
+ また、そのシステム内で使えるシェルの一覧は `/etc/shells` に記述されています。
34
+
35
+ ```
36
+
37
+ $ cat /etc/shells
38
+
39
+ ```
40
+
41
+ してみてください。
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+