Category Archives: 1-3.コマンドライン操作

bashの変数一覧


『朝だよ!貝社員』
上司をからっと揚げてやりたいといつも思います。

シェルつながりで、bashします。
bashのシェル変数へ値を代入するには、
変数名=値
と実行するだけで良いですね。

takk@deb8:~$ my_var=1234
takk@deb8:~$ 

変数の頭に$をつければ値の参照ができます。

takk@deb8:~$ echo $my_var
1234
takk@deb8:~$ 

どんな変数を登録したか忘れてしまったらsetコマンドが使えます。
setコマンドを引数なしで実行すると、シェル変数の一覧が表示されます。

takk@deb8:~$ 

(省略)

quote () 
{ 
    local quoted=${1//\'/\'\\\'\'};
    printf "'%s'" "$quoted"
}
quote_readline () 
{ 
    local quoted;
    _quote_readline_by_ref "$1" ret;
    printf %s "$ret"
}
takk@deb8:~$ 

画面が流れて見えませんでした。
行数を確認します。

takk@deb8:~$ set | wc -l
3339
takk@deb8:~$ 

軽く何を登録したいか見たいだけなのに、多すぎです。デフォルトでは関数も表示されています。
変数名が分かっていれば、grepすれば良いです。

takk@deb8:~$ set | grep my_var
my_var=1234
takk@deb8:~$ 

変数名を忘れてしまった場合はどうしましょう。

一旦さきほど登録した変数は削除しておきます。

takk@deb8:~$ unset my_var
takk@deb8:~$ 
takk@deb8:~$ function var(){
> set | diff -y -W50 origin_var - | sed -ne '/   >/p'
> }
takk@deb8:~$ set > origin_var
takk@deb8:~$ 
takk@deb8:~$ abc=123
takk@deb8:~$ def=456
takk@deb8:~$ var
                      > FUNCNAME=([0]="var")
                      > abc=123
                      > def=456
takk@deb8:~$ 

登録した変数abcとdefが表示されました。

abcを削除して、var関数を実行してみます。

takk@deb8:~$ unset abc
takk@deb8:~$ var
		      >	FUNCNAME=([0]="var")
		      >	def=456
takk@deb8:~$ 

abcはシェル変数からunsetされたので、表示されなくなりました。