コードは 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 
 


コメント