从crontab运行脚本后保持终端窗口打开

时间:2016-03-14 16:03:13

标签: shell scripting terminal cron

我有这个脚本

#!/bin/sh
curl -4 http://wttr.in/Colorado\ Springs

我想每天早上自动执行。我有我的crontab条目

* 7 * * * (path to script)

但是脚本没有运行,或者它运行然后立即关闭shell。我知道我的cronjobs正在运行,因为我有其他每小时运行的备份脚本,但无法弄清楚我在这里缺少的细节。我发现了一个在脚本中包含$ SHELL的建议,但没有任何区别。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

通常当我必须保持终端打开时,我会exec bash作为我的最后一个命令。当我编写可以打开终端的安装程序脚本时,我这样做;在那之后做好工作并迷路。但如果有错误,那么我希望终端留在那里,以便我可以读取错误。

exec用于将当前程序替换为我们提供给exec的参数。

答案 1 :(得分:0)

实际上,我不知道你在crontab中通过这个调用想要实现什么。您想在终端上查看天气预报吗?要将天气预报保存在文件中吗?收到你的电子邮件吗?

如果您没有重定向,您将在邮件中收到报告。

如果你想把它放在一个文件中,只需:

curl wttr.in/Colorado+Springs > file

如果您想在终端上使用

curl wttr.in/Colorado+Springs | wall

请注意,您不需要-4,http://并且可以用+。

替换\ space

(免责声明:我是wttr.in的作者)