GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで使用しているシェルを見つける方法

Linuxで使用しているシェルはどれですか?それも質問ですか?もちろん。 Linuxシステムで利用できるシェルはいくつかあります。最も人気のあるもののいくつかは次のとおりです:

  • バッシュ
  • ksh
  • zsh
  • tcsh

いくつかの状況でこれを不思議に思うかもしれません。

たとえば、知らないLinuxシステムにログインした場合、デフォルトでどのシェルが使用されているのか不思議に思うかもしれません。 Linuxでシェルを頻繁に変更する場合は、現在どのシェルを使用しているのか疑問に思うかもしれません。

使用しているシェルを見つけるためのさまざまなLinuxコマンドを紹介します。

Linuxで使用しているシェルを確認する

現在、すべてのシェルに対して100%の精度でこの出力を提供するコマンドはありません。ただし、これらのコマンドはほとんどのシェルで正確である必要があります。

メソッド1

特別なシェルパラメータ$$を使用できます。 「$$」は、実行しているシェルの現在のインスタンスのプロセスIDを示します。これは読み取り専用パラメータであり、変更できません。

プロセス情報を表示しようとすると、プロセス名、つまりここにシェルが表示されます。

ps -p $$

出力は次のようになります:

PID TTY          TIME CMD
15012 pts/0    00:00:00 zsh
メソッド2

$0を使用することもできます。 $ 0は、シェルの名前またはシェルスクリプトの名前にすることができます。シェルスクリプト内で使用する場合は、スクリプトの名前を示します。

ただし、ファイル名のないシェルで使用すると、シェルの名前が表示されます。

echo $0

出力には、シェルの名前が含まれます:

echo $0
bash
メソッド3

pstreeコマンドを使用することもできます。 pstreeはプロセスツリーを意味し、実行中のすべてのプロセスをツリーとして表示します。

引数を指定しない場合は、initまたはsystemdからのすべてのプロセスが表示されます。

ただし、プロセスIDを指定すると、そのすべてのプロセスがツリーのルートとして表示されます。つまり、そのプロセスによって開始されたすべてのプロセスが表示されます。

メソッド1で見たのと同じ$$bashパラメーターを使用できます。

pstree $$
メソッド4

最後の方法は、procディレクトリ内のファイルを使用することです。 LinuxでのCPU情報の確認に関する記事を読んだ場合、このディレクトリにLinuxシステムに関するランタイムシステム情報が含まれていることをすでにご存知でしょう。

次のコマンドを使用して、使用しているシェルを取得できます。

cat /proc/$$/cmdline

出力にはシェルの名前が表示されます。

ボーナスのヒント:シェルのバージョンを知る

そのため、使用しているシェルを知る方法を学びました。使用しているシェルのバージョンはどうですか?実行中のシェルの名前の後に–versionを追加するだけで、シェルのバージョンを取得できます。

たとえば、zshを実行している場合は、次を使用できます。

zsh --version

出力にはバージョン情報が表示されます:

zsh 5.4.2 (x86_64-ubuntu-linux-gnu)

このクイックチュートリアルが、実行しているシェルを見つけるのに役立つことを願っています。 Linuxでシェルを変更するためのもう1つの簡単なヒントを確認することを忘れないでください。

ちなみに、使用しているシェルを確認するために他の方法を使用していますか?コメント欄でシェアしてみませんか?


Linux
  1. Linux でスワップ領域を使用しているプロセスを見つける方法は?

  2. Linuxシェルスクリプトで正規表現を使用してファイルを検索する方法

  3. Linux コマンドを使用してシェルのバージョンを確認するにはどうすればよいですか?

  1. 使用しているLinuxディストリビューションを知る方法は?

  2. Linux –シリアルポートを使用してプロセスを見つける方法は?

  3. 使用しているシェルを確認するにはどうすればよいですか?

  1. シェル - コマンドのディレクトリを見つける方法は?

  2. Linuxでファイルを使用しているプロセスを見つける方法は?

  3. Linuxでどのタイムゾーンを確認する方法は?