Linuxで使用しているシェルはどれですか?それも質問ですか?もちろん。 Linuxシステムで利用できるシェルはいくつかあります。最も人気のあるもののいくつかは次のとおりです:
- バッシュ
- ksh
- zsh
- tcsh
いくつかの状況でこれを不思議に思うかもしれません。
たとえば、知らないLinuxシステムにログインした場合、デフォルトでどのシェルが使用されているのか不思議に思うかもしれません。 Linuxでシェルを頻繁に変更する場合は、現在どのシェルを使用しているのか疑問に思うかもしれません。
使用しているシェルを見つけるためのさまざまなLinuxコマンドを紹介します。
Linuxで使用しているシェルを確認する
現在、すべてのシェルに対して100%の精度でこの出力を提供するコマンドはありません。ただし、これらのコマンドはほとんどのシェルで正確である必要があります。
特別なシェルパラメータ$$を使用できます。 「$$」は、実行しているシェルの現在のインスタンスのプロセスIDを示します。これは読み取り専用パラメータであり、変更できません。
プロセス情報を表示しようとすると、プロセス名、つまりここにシェルが表示されます。
ps -p $$
出力は次のようになります:
PID TTY TIME CMD
15012 pts/0 00:00:00 zsh
$0を使用することもできます。 $ 0は、シェルの名前またはシェルスクリプトの名前にすることができます。シェルスクリプト内で使用する場合は、スクリプトの名前を示します。
ただし、ファイル名のないシェルで使用すると、シェルの名前が表示されます。
echo $0
出力には、シェルの名前が含まれます:
echo $0
bash
pstreeコマンドを使用することもできます。 pstreeはプロセスツリーを意味し、実行中のすべてのプロセスをツリーとして表示します。
引数を指定しない場合は、initまたはsystemdからのすべてのプロセスが表示されます。
ただし、プロセスIDを指定すると、そのすべてのプロセスがツリーのルートとして表示されます。つまり、そのプロセスによって開始されたすべてのプロセスが表示されます。
メソッド1で見たのと同じ$$bashパラメーターを使用できます。
pstree $$
最後の方法は、procディレクトリ内のファイルを使用することです。 LinuxでのCPU情報の確認に関する記事を読んだ場合、このディレクトリにLinuxシステムに関するランタイムシステム情報が含まれていることをすでにご存知でしょう。
次のコマンドを使用して、使用しているシェルを取得できます。
cat /proc/$$/cmdline
出力にはシェルの名前が表示されます。
ボーナスのヒント:シェルのバージョンを知る
そのため、使用しているシェルを知る方法を学びました。使用しているシェルのバージョンはどうですか?実行中のシェルの名前の後に–versionを追加するだけで、シェルのバージョンを取得できます。
たとえば、zshを実行している場合は、次を使用できます。
zsh --version
出力にはバージョン情報が表示されます:
zsh 5.4.2 (x86_64-ubuntu-linux-gnu)
このクイックチュートリアルが、実行しているシェルを見つけるのに役立つことを願っています。 Linuxでシェルを変更するためのもう1つの簡単なヒントを確認することを忘れないでください。
ちなみに、使用しているシェルを確認するために他の方法を使用していますか?コメント欄でシェアしてみませんか?