おそらく、これは「at」コマンドの使用に関する質問ではなく、スクリプトと端末の使用に関する一般的な質問に近いものです。とにかく、私はatコマンドを使用してその動作を処理する方法と、深刻なスクリプトでそれを使用する前にそれを制御する方法を探っています。
私はat-test.shという単純なスクリプトを書いて$ HOMEに保存して実行可能にしました。
#!/bin/sh
echo $(date +%H:%M:%s) > /dev/pts/9
exit 0
次に実行します。
at -f './at-test.sh' now + 1 minutes
期待どおりに実行されますが、シェルプロンプトに戻るにはCtrl + Cを押す必要があります。後でEnterを押すと、プロンプトも復元されることがわかりました。スクリプトのコマンドでプロンプトを復元する方法はありますか?
ベストアンサー1
ジョブが正常に送信され、at
日付が(あなたの)端末(場所)に正常に印刷されました/dev/pts/9
。プロンプトを印刷して入力を待つシェルもあります。
以下は、何が起こるのかをシミュレートしたものです。
your-prompt-here$ at -f './at-test.sh' now + 1 minutes
job 1 at Fri Mar 8 20:13:00 2019
your-prompt-here$
...デモが再開されました。
your-prompt-here$ 20:14:1552093897
echo I am still here
I am still here
your-prompt-here$
ご覧のとおり、私のシェルはコマンドを受け入れました。タスクが私の端末全体にスクロールしたecho
ので、私のカーソルは私が「予想される」位置にまったくありませんでした。at