Ha respondido a 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ía que se configurara una?
La razón más común para recibir este mensaje de error es que el script intenta obtener el .profile
del usuario. que no verifica que se esté ejecutando en una terminal antes de hacer algo relacionado con tty. Las soluciones alternativas incluyen el uso de una línea shebang como:
#!/bin/bash -p
Lo que provoca el abastecimiento de secuencias de comandos de perfil a nivel del sistema que (uno espera) no intenta hacer nada demasiado tonto y tendrá guardias alrededor del código que depende de que se ejecute desde una terminal.
Si esta es la totalidad del script, entonces el TERM
el error proviene de algo otro que el contenido simple del guión.
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 una terminal, en cuyo caso las soluciones anteriores son apropiadas.
Puedes ver si realmente no está establecido . Ejecute el comando set | grep TERM
.
Si no, puede configurarlo así:export TERM=xterm