运行 一个没有用户交互的带有 crontab 的用户交互 cmd

Running a user interactive cmd with crontab without user interaction

我有一个带两个参数的命令。

当我手动运行命令时,我是这样做的:

cmd -i xyz.dat 
hit enter
enter password in the prompt
hit enter
confirm password

并且命令 运行 成功。

当我在 crontab 中执行此操作时 运行 每 30 分钟执行一次,如下所示:

30 *  *  *  * /$HOME/cmd -i xyz.dat mypwd   mypwd

当我手动 运行 时,cmd-脚本需要用户交互(输入密码)。 您能帮我 运行 如何在没有用户交互的情况下执行 crontab 作业吗?

感谢您的帮助!

我的两个建议是:

  1. 尝试将密码回显到脚本(手动)以查看命令是否会从标准输入读取密码。您可以将密码隐藏在包装器脚本中(无论如何不要让它进入 cron)。

  2. 使用 expect 提供输入