GNU/Linux >> Linux Esercitazione >  >> Linux

Variabile di ambiente TERM non impostata

Hai risposto alla domanda con questa affermazione:

Cron lo chiama .sh ogni 2 minuti

Cron non funziona in un terminale, quindi perché dovresti aspettarti che ne venga impostato uno?

Il motivo più comune per ottenere questo messaggio di errore è perché lo script tenta di ottenere il codice .profile dell'utente che non controlla che sia in esecuzione in un terminale prima di fare qualcosa di tty correlato. Le soluzioni alternative includono l'utilizzo di una linea shebang come:

#!/bin/bash -p

Il che causa l'approvvigionamento di script di profilo a livello di sistema che (si spera) non tenti di fare qualcosa di troppo sciocco e avrà protezioni attorno al codice che dipende dall'essere eseguito da un terminale.

Se questo è l'intero script, allora il TERM l'errore proviene da qualcosa altro rispetto al semplice contenuto dello script.


L'utilizzo di un comando terminale, ad esempio "clear", in uno script chiamato da cron (nessun terminale) attiverà questo messaggio di errore. Nel tuo particolare script, il comando smbmount si aspetta un terminale, nel qual caso le soluzioni alternative di cui sopra sono appropriate.


Puoi vedere se davvero non è impostato . Esegui il comando set | grep TERM .

In caso contrario, puoi impostarlo in questo modo:export TERM=xterm


Linux
  1. Come impostare una variabile di ambiente utente? (permanentemente, non sessione)?

  2. Come determinare da dove proviene una variabile d'ambiente?

  3. La variabile Curl Outfile non funziona nello script Bash?

  4. Come impostare a livello di codice una variabile di ambiente permanente in Linux?

  5. Imposta ip statico se non ottenuto da DHCP (script)

Come impostare la variabile d'ambiente in Windows

Come impostare le variabili d'ambiente in MacOS

Come impostare la variabile d'ambiente in Bash

Esempi di comandi di esportazione Linux (come impostare le variabili di ambiente)

Imposta la variabile di ambiente con lo spazio in Linux

Imposta la variabile di ambiente nello script/accesso della shell nell'applicazione Tomcat