Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Unixシェル入門:現在のシェルの確認方法と、Bashから他のシェルへの一時的・永続的な変更手順

質問:現在自分がどのUnixシェルを使っているか調べるにはどうすればよいですか?また、Unixのシェルを一時的、あるいは恒久的に(たとえばbashからtcshへ)変更する方法も教えてください。

回答:これらの操作は、$0execchsh -s を使うことで実現できます。本記事では、それぞれの手順を詳しく解説します。

1. 現在使っているUnixシェルを確認する

echo $0 コマンドを実行すると、現在使用中のシェル名を表示できます。

$ echo $0
/bin/bash

この例では、現在 /bin/bash が動作していることがわかります。

2. シェルを一時的に変更する方法

exec コマンドを使うと、現在のセッションでのみ有効な形でシェルを切り替えられます。以下のように実行します。

$ echo $0
/bin/bash

$ exec /bin/sh

$ echo $0
/bin/sh

注意:この方法による変更は一時的なものです。一度ログアウトして再ログインすると、元のシェルに戻ります。ちょっとした動作確認や検証を行いたい場合に便利な手法です。

3. シェルを恒久的に変更する方法

ログインシェルを恒久的に変更したい場合は、chsh コマンドを使用します。-s オプションで新しいシェルのパスを指定してください。

$ 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

ログインシェルとして設定できるのは、このファイルに記載されているシェルのみです。一方、exec コマンドによる一時的な切り替えであれば、システム上に存在する任意のシェルを利用できます。

5. 新しいシェルをインストールする

希望するシェルがまだインストールされていない場合は、パッケージ管理コマンドで追加できます。以下はDebian系ディストリビューションでkshをインストールする例です。

$ sudo apt-get install ksh

新しいシェルをインストールした後は、それを恒久的なログインシェルとして設定することも、コマンドライン操作用の一時的なシェルとして使うことも可能です。

  1. Windows 10にBash(Linuxシェル)をインストールして使う方法【WSL完全ガイド】

    Windows上でLinuxシェルをセットアップして使う方法を、Windows Subsystem for Linux(WSL)を使って解説します。 このチュートリアルは、2020年以降にリリースされた最新版のWindows 10を対象としています。古いバージョンのWindows 10でのWSLの使い方や、Windows 8/7/XP向けの別の方法については扱いません。サポートが終了したソフトウェアの使用は避けるべきだからです。どうしてもWindowsを使わなければならない場合は、必ずセキュリティ更新プログラムが提供されているバージョンを使用してください。 WSLは非常に優れたツールで、まるで

  2. Windows 10のログイン画面を変更する方法|背景画像・単色・パスワード対策まで徹底解説

    「Windows 10のサインイン画面を変更したいのですが、どうすればいいですか?今の画面はどうもしっくりきません。選べるオプションや使える画像はありますか?」 Windows 10パソコンの既定のログイン画面に飽きてしまった方に朗報です。実は、Windows 10のログイン画面は自分好みのデザインに自由に変更できます。OS側で複数の背景オプションが用意されており、手順もわずか数ステップととても簡単です。 本ガイドでは、Windows 10のログイン画面を変更する複数の方法を詳しく解説します。それぞれの方法でログイン画面に個性を加えられるので、毎回同じ退屈な画面を見る必要はありません。それでは