[英]How to give user input in cronjob script
我在 cronjob 中運行了一個腳本。 但是該腳本正在接受一些用戶輸入。
我該如何處理這種情況?
如果它從 stdin 獲取輸入,請制作另一個腳本,該腳本將使用管道或重定向來調用您的腳本。
#!/bin/sh
/foo/bar/my_command < my_input
您還可以在 crontab 中將其作為 shell 命令啟動:
0 * * * * /bin/sh -c "/foo/bar/my_command < my_input"
修改腳本,使其不需要用戶輸入。
通過<
,從文件中為腳本提供所需的輸入。
以防萬一“預期的用戶輸入”是密碼:不要使用選項 2。將訪問身份驗證編輯到 crontab 作業中是各種危險的。
PS:如 mvp 所建議的expect
,如果您正在考慮expect
,則上述警告也是正確的。 這基本上相當於在便利貼上寫下您的密碼並將其貼在您的顯示器上:簡單、方便,但根本不安全。
如果您只需要在腳本中確認(是),crontab 可能如下所示:
0 * * * * /bin/sh -c "yes | /foo/bar/my_command"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.