bash、ksh…Linuxで現在使用しているシェルを知る方法
Pocket

Linuxを利用する際、大体はコンソールを利用すると思う。
その時に使っているシェルの種類は、shやbash、ksh、zshと多岐に渡る。今回は、現在使っているシェルの種類を調べる方法をまとめてみた。

1.コンソール上で確認する方法

コンソール上で確認するのは、以下のコマンドどちらかで対応出来る。

echo $0
ps -o args= -p "$$"

20141122_000000

基本的に、この “echo $0″と”ps -o args= -p “$$””で確認が可能だ。
SolarisやHP-UX、Macでも有効なので、基本的にはこれだけ覚えていればいいだろう。

ただ、シェルスクリプトではこの手法は使えない。
例えば、以下のようなスクリプトを実行したとしよう。

#!/bin/sh
echo "echo $0"
echo $0
echo ""

echo "ps -o args= -p """$$""""
ps -o args= -p "$$"
echo ""

その実行結果がこちら。

20141122_000001

上記方法では、スクリプト自体を示してしまう。これではよろしくない。

Sponsored Links

2.スクリプト内でシェルの種類を確認する

スクリプト内でシェルの種類を判別する場合、以下のように記述すればいい。

readlink /proc/$$/exe

20141122_000002

これで、スクリプト内でシェルの種類が判別出来る。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。