Bash
使用 at 執行該命令時如何將參數傳遞給 bash shell 腳本?
我有一個 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