web-dev-qa-db-fra.com

Comment écrire un script shell qui est exécuté sur la connexion?

J'essaie d'écrire un script Bash Shell dans Ubuntu 11.10 Linux Distro, qui sera exécuté automatiquement lors de la journalisation dans le système. Mais je ne suis pas capable de comprendre que ce qu'il faut écrire dans le script que par elle sera automatiquement exécuté lors de la connexion.

16
dubex

Si vous voulez que ce soit global, modifiez

 /etc/profile 

ou ajoutez un script à

 /etc/profile.d

Si vous voulez que ce soit spécifique à l'utilisateur, modifiez

 /home/$USER/.profile
18
wei2912

Ajoutez simplement le script Bash aux applications de démarrage.

Dans le champ de commande, entrez

bash /full/path/to/bash/script.sh/
3
jokerdino

/etc/profile ou $HOME/.profile ou $HOME/.bash_profile

Je recommanderais fortement contre l'utilisation de /etc/profile.d/yourscript.sh S'il produit une sortie. Lorsque vous utilisez une session non interactive, vous recevrez un $TERM is not set un message. Ceci est notable lors de l'utilisation du protocole SSH, comme SCP. Habituellement, pas une grosse affaire, cependant, Veeam ne l'aime pas et jettera un avertissement. Je sais que Veeam n'est pas le sujet ici, mais il convient de mentionner que toutes les applications n'ignoreront pas gracieusement l'$TERM is not set Attention.

En bref, si le script génère une sortie, placez-le dans les emplacements spécifiés sur la première ligne. Toutefois, si vous modifiez l'environnement et que votre script ne génère pas de sortie, utilisez ce dernier.

0
Hickory420

Si vous voulez être plus spécifique de bash, vous pouvez également vous écrire de code dans ~/.bash_profile ou ~/.bash_login.

Et vous pouvez rechercher n'importe quel script à cet exemple:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
0
Dieter.Wilhelm