chsh【コマンド】
コマンドだよ
UNIX系で使えるよ
ログインシェルを変えるよ
簡単に書くよ
chsh【コマンド】とは
コンピュータさんに対する命令文(コマンド)のひとつ
であり
ログインシェル
(ログインして最初に相手してくれるシェル)を変えるときに使うコマンド
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・認証
・ログイン
・シェル
・ログインシェル
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
認証は「おまえ誰?OKなやつ?」を確認する作業です。
例えば
・本人しか知らない情報を入力させる
・本人しか持っていないものを提示させる
・接続元の情報を見る
のような過程を経て、OKな人かNGな人かを判定します。
※厳密には「認証+認可」の説明になっていますが気にしないことにします。そこら辺が気になる方は、用語「認可」の説明を ご覧ください。
ログインは、ざっくり一言で説明すると「認証して使える状態にすること」です。
ログインする対象が会員制の秘密クラブだとしたら、その秘密クラブの中に入っていくイメージですかね。
多くの場合、ログイン時の認証はIDとパスワードを使ってやります。
IDは、ログインする対象のサービスから払い出されたIDだったり、登録するときに入力した自分のメールアドレスだったり、初期設定のときに自分で決めたIDだったりです。
パスワードは会員登録とかするときに自分で決めたパスワードです。
それらのIDとパスワードを入力して「おまえは使ってOKなやつかな?」を確認してもらい「あぁ、おまえは使ってOKなやつか。どうぞ使ってください」にするのがログインです。
シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。
コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。
ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。
あなたがパソコンの中身と直接やり取りすることは ありません。
あなたが やり取りする相手は、シェルです。
シェルが、あなたの代わりにパソコンの中身と やり取りしてくれます。
シェルの詳細は、用語「シェル」の説明を ご覧ください。
ログインシェルは「ログインして最初に相手してくれるシェル」です。
シェルはログイン直後から動き始めます。
この
ログインしたときに起動するシェル
がログインシェルです。
以上を踏まえて
ログインシェルを変えるときに使うコマンド
が「chsh」コマンドです。
UNIX系(LinuxとかMacとか)で使えます。
書き方は
chsh [オプション] [対象ユーザ]
です。
オプションは、ちょぼちょぼとあります。
| オプション | 説明 |
|---|---|
| -s 【シェル】 | 【シェル】をログインシェルとして設定する |
| -l | 選択できるシェルの一覧が表示される |
| -u | 簡単なヘルプを表示する |
| -v | バージョン情報を表示する |
などです。
何も指定しないで
chsh
と打つと「へーい、おまえのログインシェルを何にしたいんだーい?」と聞かれます。
あとは好きなシェルを入力すればOKです。
どんなシェルが設定可能か知りたい場合は
chsh -l
を実行すると設定可能なシェルの一覧が表示されます。
いちいち「へーい、おまえのログインシェルを何にしたいんだーい?」と聞かれたくない場合は、例えば
chsh -s /bin/bash
のように書くことで、一発で指定できます。
ちなみに、スーパーユーザの場合は他のユーザさんのログインシェルも設定できます。
書き方は
chsh -s /bin/bash user1
のように後ろにユーザを指定する形です。
あと余談ですが「chsh」は(多分)「change shell(チェンジ・シェル)」の略だと思います。
一言でまとめるよ
まぁ「chsh」ってコマンドが出てきたら「ログインシェル
(ログインして最初に相手してくれるシェル)を変えるときに使うんだな~」と お考えください。
おまけ
■訳してみるよ
「ch」は多分「change(チェンジ)」の略です。
「change(チェンジ)」の意味は「変化」とか「変わる」とか「変える」とかです。
「sh」は多分「shell(シェル)」の略です。
「shell(シェル)」の意味は「殻」とか「貝殻」とかです。
何となく くっつけると
殻を変える
となります。
■検索してみる?






