test.sh
次の内容で呼び出されるbashスクリプトを作成しました。
#!/#bin/bash
echo "Done!"
私は次のように入力しますbash test.sh | at 1549
:
myusername@machine:path$ bash test.sh | at 1549
warning: commands will be executed using /bin/sh
job 4 at Fri Sep 3 15:49:00 2021
myusername@machine:path$ date
Fri Sep 3 15:48:22 EDT 2021
myusername@machine:path$ date
Fri Sep 3 15:49:12 EDT 2021
表示スクリプトが実行されないのはなぜですか?以下のように私のシェルはbashだからですか?
myusername@machine:path$ echo $SHELL
/bin/bash
ベストアンサー1
スクリプトをすぐに実行してスケジュールします。その出力実行としてat
。言うまでもなく、これは失敗するでしょう。
私の考えであなたが望むのはこれです。
#!/bin/bash
echo "Done!"
というファイルに書き込んだとしますmyscript
。
実行可能にする:
chmod a+x myscript
その後、15:49に実行キューに追加され、出力がキャプチャされますmyscript.log
。出力をキャプチャしないと、ローカルのUNIX / Linuxアカウントに電子メールが送信され、メールサブシステムがまったくインストールされていない場合は破棄されます):
at 1549 <<'X'
./myscript > myscript.log 2>&1
X