【问题标题】:How to run a interactive shell script in crontab如何在 crontab 中运行交互式 shell 脚本
【发布时间】:2019-09-18 15:58:39
【问题描述】:

我有一个 shell 脚本,当运行这个脚本时它会提出一个问题,需要用户输入是或否。但是现在,我需要在 crontab 上运行这个脚本。如何解决这个问题。

【问题讨论】:

  • 使脚本非交互。

标签: linux shell cron


【解决方案1】:

在这种情况下,您似乎在运行 interactive 脚本,而不是 非交互式 脚本,正如您的标题所暗示的那样。

如果此脚本从标准输入(而不是直接从终端)读取用户输入,请编写一个通过管道提供必要输入的包装器脚本,然后从 cron 运行此包装器。

【讨论】:

  • 您可以添加类似echo y | yourscript.sh的示例。
【解决方案2】:

如果您希望它向当前登录的某些用户提示问题,我相信这是不可能的。因为当您使用 cron 运行它时,它将在不同的终端中运行 sh。因此用户将无法回答提示的问题。

但是,如果您对这些提示问题给出一些静态或计算的答案,那么您就可以像其他人建议的那样创建一个包装脚本。但这也意味着您可以将这些值硬编码到主脚本中。所以这可能不是你想要的。

【讨论】:

    猜你喜欢
    • 2021-07-11
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2019-02-17
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多