"at"を使用してパラメータ付きスクリプトを予約する

"at"を使用してパラメータ付きスクリプトを予約する

特定の時間に実行したいbashスクリプトがあります。通常、すぐに実行するには、次のように作成します。

./my_script.sh 1 1 n 8 3 keywords here

「を使用して同じコマンドを実行しようとしています。存在する"コマンドを実行しましたが機能しません。たとえば、次のように実行すると、

at 2230 -f my_script.sh 1 1 n 8 3 keywords here

次のエラーが発生します。

syntax error. Last token seen: 1
Garbled time

特定の時間にパラメータを使用してスクリプトを実行するには?

答え1

-f オプションは必要ありません。次のいずれかを試してください。

at 2230 my_script.sh 1 1 n 8 3 keywords here

または

echo 'my_script.sh 1 1 n 8 3 keywords here' | at 2230

at -f myFileファイル全体をすぐに作業ファイルにコピーします。パラメータをスクリプトに渡すメカニズムはありません。

私が示した2つの選択肢は、単にコマンド自体を作業ファイルにコピーすることです。その後、2230でscript-plus-argsが呼び出されます。

at-job ファイルには、PATH、cwd、その他のほとんどの項目を使用できるように、まず環境を再生成するスクリプトが含まれています。

最初にオンラインシェルとは異なるシェルを呼び出すことができるので、スクリプトにshebangがあることをお勧めします。

1030より前にスクリプトを変更または削除することはおそらく賢明ではありません(ただし、タスクスクリプトが実行される前にエラーを修正するのに役立つツールだと思います)。

関連情報