Bash
使用“at”安排帶有參數的腳本
我有一個 bash 腳本,我想在給定時間執行它。通常我會寫這樣的東西來立即執行它:
./my_script.sh 1 1 n 8 3 keywords here
我正在嘗試使用“ at ”命令執行相同的命令,但它不起作用。如果我執行它,例如:
at 2230 -f my_script.sh 1 1 n 8 3 keywords here
我收到此錯誤:
syntax error. Last token seen: 1 Garbled time
如何在給定時間執行帶有參數的腳本?
不需要 -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
立即將該整個文件直接複製到工作文件中。它沒有將參數傳遞給腳本的機制。我展示的兩個替代方案僅將命令本身複製到工作文件中。然後在 2230 呼叫腳本加參數。
at-job 文件包含一個腳本,用於首先重新創建您的環境,因此 PATH、cwd 和大多數其他內容都可用。
建議腳本具有 shebang,因為 at 最初可能會呼叫與您的線上 shell 不同的 shell。
在 1030 之前更改或刪除腳本可能是不明智的(儘管我認為這是在作業腳本執行之前修復錯誤的有用工具)。