GNU/Linux >> Tutoriels Linux >  >> Linux

Variable d'environnement TERM non définie

Vous avez répondu à la question avec cette déclaration :

Cron l'appelle .sh toutes les 2 minutes

Cron ne s'exécute pas dans un terminal, alors pourquoi vous attendez-vous à ce qu'il soit défini ?

La raison la plus courante pour obtenir ce message d'erreur est que le script tente de sourcer le .profile de l'utilisateur qui ne vérifie pas qu'il s'exécute dans un terminal avant de faire quelque chose lié à tty. Les solutions de contournement incluent l'utilisation d'une ligne shebang comme :

#!/bin/bash-p

Ce qui provoque l'approvisionnement en scripts de profil au niveau du système qui (on l'espère) n'essaie pas de faire quelque chose de trop idiot et aura des gardes autour du code qui dépend de son exécution à partir d'un terminal.

S'il s'agit de l'intégralité du script, alors le TERM l'erreur vient de quelque chose autre que le contenu brut du script.


L'utilisation d'une commande de terminal, c'est-à-dire "clear", dans un script appelé depuis cron (pas de terminal) déclenchera ce message d'erreur. Dans votre script particulier, la commande smbmount attend un terminal, auquel cas les solutions de contournement ci-dessus sont appropriées.


Vous pouvez voir si ce n'est vraiment pas défini . Exécutez la commande set | grep TERM .

Sinon, vous pouvez le définir comme ça :export TERM=xterm


Linux
  1. Variables d'environnement Linux :comment lire et définir sur un VPS Linux

  2. Comment définir une variable d'environnement utilisateur ? (en permanence, pas de session) ?

  3. Comment déterminer l'origine d'une variable d'environnement ?

  4. Où le terme variable d'environnement par défaut est-il défini ?

  5. La commande Rm dans le script Bash ne fonctionne pas avec la variable ?

Comment définir une variable d'environnement dans Windows

Comment définir des variables d'environnement dans MacOS

Comment définir une variable d'environnement dans Bash

Définir une adresse IP statique si elle n'est pas obtenue à partir de DHCP (script)

Où est la variable PATH définie dans Ubuntu ?

Comment définir une variable d'environnement dans GDB à l'aide de la commande shell ?