使用用户输入运行crontab

时间:2009-07-19 13:05:28

标签: linux bash shell crontab

我创建了一个crontab,它将运行一个bash脚本test.sh.此test.sh文件需要用户输入一些内容,并将用户输入保存到变量中。我如何确保将用户输入保存到test.sh中的变量,并且当crontab运行脚本时,我可以得到我想要的输出?

例如我有2个文件,file1.sh和file2.sh。我把file2.sh放在1.sh文件中。我然后运行file1.sh,获取用户输入,并将其保存在某处。 crontab将运行file2.sh,并从“ saved somewhere变量”中检索值。反正有吗?

3 个答案:

答案 0 :(得分:5)

如果脚本从stdin读取输入,只需从文件重定向输入(使用包装脚本)。

#! /bin/sh
test.sh < data.in

如果这对您不起作用(即您的脚本调用了一些交互式shell程序,如telnet,则可以使用Expect自动执行交互。

答案 1 :(得分:1)

  1. file1.sh获取用户输入并将其写入/etc/file2.dat
  2. file2.sh读取/etc/file2.dat并做任何需要的事情

答案 2 :(得分:0)

这似乎是一件奇怪的事情。问自己这些问题:

每次cron运行时,你真的想要一个弹出窗口询问用户输入值吗?

当键盘上没有人时会发生什么?