コードは Mac のシェル(zsh)から実行しています。
$?: 直前に実行されたコマンドの終了コード
% date
2023年 12月16日 土曜日 15時36分19秒 JST
% echo $?
0
$$: 現在のシェルプロセスのプロセスID
% ps
68374 ttys001 0:00.05 /bin/zsh -il
96238 ttys002 0:00.06 -zsh
% echo $$
96238
$0: 現在のスクリプトの名前
: 現在のスクリプトの名前
% echo $0
-zsh
, , …, $n: スクリプトや関数に渡された引数の値
echo $1
echo $2
echo $3
% ./test.sh a bc def ghij
a
bc
def
$#: 渡された引数の数
echo $#
% ./test.sh a bc def ghij
4
$@: 全ての引数をクォートした状態で取得
echo $@
% ./test.sh a bc def ghij
a bc def ghij
クォートされているらしいんですが、表示させる方法が思いつかない。
なので、$* と見た目の結果ですね。。
$*: 全ての引数をクォートせずに取得
echo $*
% ./test.sh a bc def ghij
a bc def ghij
$!: 直前にバックグラウンドで実行されたプロセスのPID
% sleep 3 & echo $!
[1] 96786
96786
コメント