質問: 現在実行している Unix シェルを確認するにはどうすればよいですか?また、Unix シェルを一時的および永続的に変更する方法を説明できますか? (たとえば、bash から tsh へ)。
答え: これらは $0, exec, chsh -s を使用して実現できます .この記事では、これらを行う方法を詳しく見ていきましょう。
1.現在の Unix シェルは何ですか?
以下に示すように、echo $0 コマンドを使用して、現在のシェル名を取得します。
$ echo $0 /bin/bash
2.現在のシェルを一時的に別のタイプに変更するには?
以下に示すように、exec コマンドを使用してシェルを一時的に変更します。
$ echo $0 /bin/bash $ exec /bin/sh $ echo $0 /bin/sh
注: 上記の変更は一時的なものです。再ログインすると、元のシェルに戻ります。
3.現在のシェルを別のタイプに変更する方法 – 永久に?
シェルを永続的に変更するには、chsh を使用します 以下に示すようにコマンドを実行します。
$ chsh -s /bin/sh Password:
注: 上記の変更は永続的です。再ログインしても、新しいシェルしか表示されません。
4.システムで利用可能なすべての砲弾を確認するにはどうすればよいですか?
利用可能なすべてのシェルは、/etc/shells ファイルにあります。
$ cat /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /bin/ksh93
ログイン シェルを変更するには、上記の出力からのみ行うことができます。ただし、現在のシェルを変更するには、利用可能な任意のシェルに移動できます。
5.新しいシェルのインストール
以下に示すように、新しいシェル (ksh など) をインストールできます。新しいシェルをインストールしたら、それを永続的なログイン シェルとして、またはコマンド ライン操作用の一時的なシェルとして使用できます。
$ sudo apt-get install ksh