tcshシェルプロンプトで完了していないバックグラウンドタスクを表示する方法は?未解決の作業の数を知らせることはわかりますが、%j
静かに置いておくと、プロンプトは時代遅れになります。理想的には、プロンプトを自動的に更新したいと思います。デフォルトでは、送信したすべてのジョブが完了したことを確認するためにbjobsコマンドを継続的に入力することを避けたいと思います。
答え1
set prompt = "%j %# "
これは現在のバックグラウンドジョブ数のプロンプトを設定し、その後>
または#
ルートに設定します(promptchars
デフォルトから変更されない限り)。
テストしてみてください:
> set prompt = "%j %# "
0 >
その後、いくつかのバックグラウンドタスクを開始します。
0 > ls &
[1] 82556
1 > ls &
[2] 99869
[1] Done ls
2 >
[2] Done ls
2 >
2 >
2 >
2 >
2 >
2 >
2 >
ご覧のとおり、を押してもプロンプトのジョブ数は更新されませんEnter。それ〜する新しいコマンドを入力するとすぐに更新されます。
2 > ls
0 >
0 >
あなたが言及したものbjobs
。これは LFS コマンドであり、tcsh
まったく関係ありません。意図的かどうかにかかわらず、より多くの情報で質問を更新してください。