Bash

Bashの詳細

More than 1 year has passed since last update.

コマンドzcatの中身を調べてみる。

コマンドzcatは実質、gzip -cdと同じで、解凍した結果を標準出力に出力する。
\${GZIP_BINDIR-'/bin'} は \$GZIP_BINDIR があればそれを、無ければ '/bin' でという書き方である。
"$@" はコマンド引数の全てを渡しているが、ダブルクォートで囲むことで、おそらく空白類文字を含むファイル名などにも対応している。
しかしながらDarwinでは /usr/bin/zcat: Mach-O 64-bit executable x86_64 となっていた。

Bash
$ which zcat
/bin/zcat
$ file /bin/zcat
/bin/zcat: POSIX shell script text executable
$ cat /bin/zcat
#!/bin/sh
PATH=${GZIP_BINDIR-'/bin'}:$PATH
exec gzip -cd "$@"
$ echo $GZIP_BINDIR

$