10

我有一个脚本 runonce.sh,它通过 cron 调用另一个脚本 setup.sh。我们认为这种情况是“未设置 TERM 环境变量”的理想情况。在 runonce.sh 脚本的输出中可以看到。

现在我面临一个问题,即另一个第三个简单脚本 - upgradeAndTest.sh 在调用 setup.sh 时,那个时候也是“未设置 TERM 环境变量”。在 upgradeAndTest.sh 脚本的输出中可以看到。为什么会这样..?

另外,如果我在调用脚本中将 setup.sh 的 stderr 重定向到 stdout,那么“未设置 TERM 环境变量”。显示在控制台上。

谁能帮我从调用脚本的标准输出中删除这一行..?

4

1 回答 1

27

运行需要终端的程序cron可能会导致问题;运行时它不会有终端cron

但是,如果有疑问,请确保在脚本中设置了变量,方法是添加一行:

export TERM=${TERM:-dumb}

如果环境变量TERM已经设置,这是一个空操作。如果不是,它将终端设置为具有最小功能的标准终端——这可以满足抱怨TERM未设置的程序。

于 2013-10-17T12:39:30.717 回答