variable not environmental entorno linux sh

linux - not - Variable de entorno TERM no establecida



variables de entorno linux bash (3)

Tengo un file.sh con esto, cuando se ejecuta show: variable de entorno TERM no establecida.

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..."


El uso de un comando de terminal, es decir, "borrar", en un script llamado desde cron (sin terminal) activará este mensaje de error. En su secuencia de comandos particular, el comando smbmount espera un terminal en cuyo caso las soluciones anteriores son apropiadas.


Has respondido la pregunta con esta afirmación:

Cron llama a esto .sh cada 2 minutos

Cron no se ejecuta en una terminal, entonces ¿por qué esperarías que se configurara?

La razón más común para obtener este mensaje de error es que el script intenta obtener el .profile del usuario que no verifica que se esté ejecutando en un terminal antes de hacer algo relacionado. Las soluciones incluyen el uso de una línea shebang como:

#! / bin / bash -p

Lo que provoca el origen de scripts de perfil a nivel de sistema que (uno espera) no intenta hacer nada demasiado tonto y tendrá guardias alrededor del código que depende de que se ejecute desde un terminal.

Si esta es la totalidad de la secuencia de comandos, entonces el error TERM proviene de algo que no sea ​​el contenido simple de la secuencia de comandos.


Puedes ver si realmente no está configurado . Ejecute el comando set | grep TERM set | grep TERM .

Si no, puede configurarlo así: export TERM=xterm