Unixコマンド/set の変更点
*&SIZE(15){''set''}; [#b1f0ff23]
**''機能'' [#z50ddb9b]
setコマンドは、シェルの内部コマンドで、変数を表示、設定します。~
引数なしで実行すると、現在設定されているシェル変数とその値の一覧を表示します。~
bsh(その系列シェル)では「変数=値」の形式で、csh(その系列シェル)では「変数 値」の形式で表示します。~
**''構文'' [#fb133adc]
set~
set 変数[=値]~
set 変数=(リスト)
**''コマンド例'' [#bb6664f2]
▼シェル変数を表示する。
$ set
_ ls
addsuffix
argv ()
autolist
color
cwd /home/matsui
dirstack /home/matsui
dspmbyte euc
echo_style bsd
edit
filec
gid 1001
group Admin
history 100
home /home/matsui
killring 30
loginsh
mail /var/mail/matsui
matchbeep never
owd
path (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin
/usr/X11R6/bin /home/matsui/bin)
prompt %n@vaio$
prompt2 %R?
prompt3 CORRECT>%R (y|n|e|a)?
savehist 100
shell /bin/tcsh
shlvl 1
status 0
tcsh 6.12.00
term vt100
tty ttyp0
uid 1001
user matsui
version tcsh 6.12.00 (Astron) 2002-07-23 (i386-intel-FreeBSD) options 8b,nls,dl,
al,kan,sm,rh,color,dspm,filec
▼シェル変数を定義する(cshの場合)
$ set |grep filec
$ set filec 変数filecを定義する。
$ set |grep filec
filec
$ set savehist=256 変数savehistを定義し、値を256に設定する。
$ set |grep savehist
savehist 256 変数savehistの値が256に設定されている。
▼シェル変数に値を追加する(cshの場合)
$ set path=($path /usr/local/libexec) pathのリストに値を追加する。
$ set |grep path
path (/home/genesis/bin /bin /sbin /usr/bin /usr/sbin /usr/local/sbin /usr/local/bin /usr/local/libexec)
設定した値が追加されている
~
▼シェル変数と環境変数~
シェル変数、環境変数どちらも、あらかじめある変数に値を設定しておき、その変数の設定を~
もとに動作環境を変更する、といった使い方ができます。~
大きく異なるのはその有効範囲です。~
環境変数は、シェルから実行したプロセスにもその環境変数の設定が引き継がれます。~
これに対しシェル関数は、あくまでシェル自身の動作環境の変更のためだけに用いられます。
**位置パラメータをセットする。 [#xd220fc6]
setコマンドを使うと、いつでも位置パラメータを再設定できます。~
たとえば、コマンドを実行してその結果を位置パラメータにセットしたりできます。
■例:dateコマンドの実行結果を位置パラメータに渡し、for文で表示する。
$ set `date`
$ for i in $@
> do
> echo $i
> done
2006年
8月
29日
火曜日
19:07:51
JST