kill --verbose ...
Bashスクリプトで使用したいがエラーが発生しますkill: -verbose: invalid signal specification
。これは魚で非常にうまく機能するので奇妙です。調査の結果、次のような奇妙な行動が発生しました。
$ which kill
/usr/bin/kill
$ sleep 5 & kill --verbose $!
[1] 33730
bash: kill: -verbose: invalid signal specification
... wait for sleep to finish ...
[1]+ Done sleep 5
$ sleep 5 & /usr/bin/kill --verbose $!
[1] 33964
sending signal 15 to pid 33964
[1]+ Terminated sleep 5
どうしたの?kill
フラグが認識されていないが--verbose
==/usr/bin/kill
の場合、認識されるのはなぜですか?which kill
/usr/bin/kill
答え1
which
誤解を招く;type
次に変更してみてください。
$ type kill
kill is a shell builtin
bashを実行すると、kill
認識されない組み込みコマンドが使用されます。フルパスを指定すると、実際にサポートされている--verbose
外部コマンドが代わりに実行されます(あなたの場合)。/usr/bin/kill
--verbose