Bash

使用 at 執行該命令時如何將參數傳遞給 bash shell 腳本?

  • October 21, 2014

我有一個 shell 腳本,它接受一個參數並在腳本中使用它。所以要執行我輸入的腳本 /path/to/script argument

問題是在嘗試設置該文件以使用該at實用程序執行時。我試過了

at -f /path/to/script argument 17:45

at -f '/path/to/script argument' 17:45

但這些選項都不起作用。第一個收到語法錯誤,第二個說沒有這樣的文件有什麼建議嗎?

由於at預設從標準輸入讀取,您可以這樣做:

echo /path/to/script argument | at 17:45

我建議在一般情況下遵循@warl0ck 的建議——創建一個新腳本,例如/path/to/newscript

#!/bin/bash
/path/to/script argument

然後使用at

at -f /path/to/newscript 17:45

這使得調整所需的任何參數、執行多個命令等變得容易。

或者,對於偶爾或一次性使用,您可以at在選擇的時間執行,然後在標準輸入上輸入您需要的任何命令;打ctrl-D到底:

myhost# at 17:45
/path/to/script argument
<ctrl-D>
Job 1 will be executed using /bin/sh

引用自:https://unix.stackexchange.com/questions/52843