5

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

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

4

3 回答 3

5

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

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

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

于 2009-07-19T13:14:25.820 回答
1
  1. file1.sh获取用户输入并将其写入/etc/file2.dat
  2. file2.sh阅读/etc/file2.dat并做任何需要的事情
于 2009-07-19T15:19:37.117 回答
0

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

您真的希望每次 cron 运行时都会弹出一个询问用户输入值的窗口吗?

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

于 2009-07-19T13:21:52.847 回答