
私はシェルを書きましたt.sh 内容は次のとおりです。
touch 88888
私が使用しているコマンドは
sh t.sh | at 03:13Jun15
このコマンドを実行すると、画面に次の表示が出ました:
warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014
これは2014年6月15日日曜日03:13:00に実行されることが非常に明確です。
しかし、フォルダを確認すると、そこに 88888 ファイルが存在することがわかりました。それを削除してもう一度試しましたが、結果は同じでした。
ここで何が問題なのでしょうか? bash/sh の問題でしょうか? /bin/sh で実行されると書いてあるのですが?
答え1
at
標準入力からコマンドを読み取ります。フラグを指定した場合はファイルから読み取ります-f
。sh t.sh | at [time]
実行する内容は次のとおりです。
1. execute the shell script t.sh *right now*;
2. pipe the output of the shell script to at.
しかし、スクリプトには出力がないので、日曜日に実行するものはありません。
あなたが欲しいのは ですat 03:13Jun15 -f t.sh
。