我有一个脚本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未设置的程序.