2011-12-14

which よりも whence

zshrc をいじってて、「コマンド~があるなら…する」みたいなのをやろうとして適当に which でやったら、コマンドがないときにいらない出力がされるので悶々としていたのですが、zsh には whence という組み込みコマンドがあります、というか ksh 由来みたいですね。which-command ともエイリアスされていました。
echo `which hoge`
echo `whence hoge`
which を使ったほうだと hoge が無いときにいらない出力("hoge not found")がされてしまいますので、
[ -n `whence hoge` ] && do-something-with-hoge
みたいなことは which ではできません。まあこのシンプルな例だと $? を見たほうがいいのですが。

0 件のコメント:

コメントを投稿