本を読む

読書やコンピュータなどに関するメモ

シェルでバックグラウンドジョブの起動メッセージを出さないようにする

 小ネタ。

 bashやzshで、コマンドラインからバックグラウンドでコマンドを実行すると、ジョブ番号の起動メッセージが表示されます。PROMPT_COMMANDとかprecmdとかでコマンドをバックグラウンド実行するときなどには、ちょっと邪魔です。

$ sleep 3 &
[1] 24616

 このメッセージはシェル自身が表示しているので、もちろんリダイレクトは効きません。“set +m”すると出なくなりますが、以後すべて出なくなるものなので、戻してやるのが面倒なため、避けたいところです。あと、bashだとうまくいきませんでした。

% set +m
% sleep 3 &

 で、サブシェルからバックグラウンド実行してみました。

$ (sleep 3 &)

 めでたしめでたし。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/891-db2cc6e3

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad