Ctrl+D を押さずに「壁」を終了するには? [閉鎖]

Ctrl+D を押さずに「壁」を終了するには? [閉鎖]

私はcrontabを使用してすべてのユーザーにメッセージを送信しています。

私は書いた

*/1 * * * * wall $(bash some_shell_script.sh) 

Ctrl+Dしかし、問題は、メッセージを終了するには常にボタンを押す必要があることです。

この問題をどのように解決できますか?

ベストアンサー1

コマンドwallはのコンテキストで実行されますcron。それはその仕事をして終了します。

受信表示装置(端末)では、から通知が届きますwall。この通知は端末で実行されている操作とは無関係であるため、通知メッセージの送信中にコマンドラインプロンプトに静かに座ってもプロンプトは上書きされません。プロンプトを再送信するにはEnterキーを押す必要があることがわかりますが、実際にはこれは必要ありません。通常、コマンドを入力するだけです。

シーンタイムライン

  1. ログインしてコマンドプロンプトに座っています。
  2. 端末に通知がwall送信されました
  3. 入力lsして(クリックします。)入力する)

ステップ3では、目立つプロンプトは表示されませんが、シェルはまだユーザーコマンドを待っています。


crontabまたは、実際にコマンドを終了する方法について話している可能性があります。この例では、Ctrl / Dを使用して入力が終了したことを示します。

想像する

  1. crontab
  2. あなたは行を入力*/1 * * * * bash some_shell_script.sh | wall
  3. Ctrl / Dを押してcrontabコマンドのデータ入力を終了します。

ステップ3のCtrl / Dはこれとは何の関係もありませんwall。また、このエントリはcrontab1分ごとにコマンドを繰り返します。wallこれは本当にあなたが望むものですか?

おすすめ記事