TERM环境变量未设置(TERM environment variable not set)

2019-09-01 05:55发布

我有这样的file.sh,当运行显示:没有设置TERM环境变量。

smbmount //172.16.44.9/APPS/Interfas/HERRAM/sc5 /mnt/siscont5 -o 
iocharset=utf8,username=backup,password=backup2011,r

if [ -f /mnt/siscont5/HER.TXT ]; then
    echo "No puedo actualizar ahora"
    umount /mnt/siscont5
else 
    if [ ! -f /home/emni/siscont5/S5.TXT ]; then
        echo "Puedo actualizar... "
        touch /home/emni/siscont5/HER.TXT
        touch /mnt/siscont5/SC5.TXT
        mv -f /home/emni/siscont5/CCORPOSD.DBF /mnt/siscont5
        mv -f /home/emni/siscont5/CCTRASD.DBF /mnt/siscont5
        rm /mnt/siscont5/SC5.TXT
        rm /home/emni/siscont5/HER.TXT
        echo "La actualizacion ha sido realizada..."
    else
        echo "No puedo actualizar ahora: Interfaz exportando..."
    fi
fi
umount /mnt/siscont5
echo "/mnt/siscont5 desmontada..."

Answer 1:

你可以看到,如果它真的没有设置 。 运行命令set | grep TERM set | grep TERM

如果没有,你可以将它设置这样的: export TERM=xterm



Answer 2:

使用终端的命令即“清除”,在从cron(无终端)调用的脚本将触发该错误消息。 在特定的脚本,该smbmount命令期望的终端在这种情况下上述的变通是适当的。



Answer 3:

你已经回答了这个说法的问题:

克龙称此.sh每2分钟

克龙并不在终端上运行,为什么你会想到一设置?

获得此错误消息的最常见原因是因为脚本试图源的用户的.profile不检查它在终端做一些相关的tty运行之前。 解决方法包括使用shebang行,如:

#!/斌/庆典-p

这将导致其(一个希望)不会尝试做任何事情,太傻了,将有大约依赖于从终端中运行代码卫士的系统级配置文件脚本的采购。

如果这是剧本的全部,那么TERM误差比从脚本的普通内容以外的东西来了。



文章来源: TERM environment variable not set
标签: linux sh