【发布时间】:2019-09-18 15:58:39
【问题描述】:
我有一个 shell 脚本,当运行这个脚本时它会提出一个问题,需要用户输入是或否。但是现在,我需要在 crontab 上运行这个脚本。如何解决这个问题。
【问题讨论】:
-
使脚本非交互。
我有一个 shell 脚本,当运行这个脚本时它会提出一个问题,需要用户输入是或否。但是现在,我需要在 crontab 上运行这个脚本。如何解决这个问题。
【问题讨论】:
在这种情况下,您似乎在运行 interactive 脚本,而不是 非交互式 脚本,正如您的标题所暗示的那样。
如果此脚本从标准输入(而不是直接从终端)读取用户输入,请编写一个通过管道提供必要输入的包装器脚本,然后从 cron 运行此包装器。
【讨论】:
echo y | yourscript.sh的示例。
如果您希望它向当前登录的某些用户提示问题,我相信这是不可能的。因为当您使用 cron 运行它时,它将在不同的终端中运行 sh。因此用户将无法回答提示的问题。
但是,如果您对这些提示问题给出一些静态或计算的答案,那么您就可以像其他人建议的那样创建一个包装脚本。但这也意味着您可以将这些值硬编码到主脚本中。所以这可能不是你想要的。
【讨论】: