如何删除"TERM环境变量未设置"

roh*_*ini 9 bash shell cron

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

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

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

任何人都可以帮我从调用脚本的stdout中删除这一行..?

Jon*_*ler 26

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

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

export TERM=${TERM:-dumb}
Run Code Online (Sandbox Code Playgroud)

如果TERM已经设置了环境变量,那么这是一个无操作.如果不是,它将终端设置为具有最小功能的标准终端 - 这满足了抱怨TERM未设置的程序.