Réponses:
Si vous voulez qu'il soit global, modifiez
/etc/profile
ou ajoutez un script à
/etc/profile.d
Si vous souhaitez qu'il soit spécifique à l'utilisateur, modifiez
/home/$USER/.profile
/usr/local/bin/pihole -ccommande lors de la connexion automatique d'un utilisateur spécifique. Ajout de cette ligne à /home/$USER/.profile- rien ne se passe. Lorsque j'ajoute un script, /etc/profile.dcela fonctionne, mais il est global et s'exécute même lorsque j'ouvre une session ssh (ce qui n'est pas ce que je veux). L'ajout .bashrcfonctionne aussi, mais s'exécute à chaque fois que j'ouvre un nouveau shell (ce qui n'est pas ce que je veux). Question: Pourquoi ajouter à /home/$USER/.profilene fonctionnerait pas ???
Ajoutez simplement le script bash aux applications de démarrage.
Dans le champ de commande, entrez
bash /full/path/to/bash/script.sh/
Si vous voulez être plus spécifique à bash, vous pouvez également écrire votre code dans ~ / .bash_profile ou ~ / .bash_login.
Et vous pouvez y source n'importe quel script par exemple:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profileou $HOME/.profileou$HOME/.bash_profile
Je recommande fortement de ne pas l'utiliser /etc/profile.d/yourscript.shs'il produit une sortie. Lorsque vous utilisez une session non interactive, vous recevrez un $TERM is not setmessage. Ceci est visible lors de l'utilisation du protocole ssh, comme scp. Habituellement, ce n'est pas grave, cependant, Veeam n'aime pas cela et lancera 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 setavertissement.
En bref, si le script génère une sortie, placez-le aux emplacements spécifiés sur la première ligne. Cependant, si vous modifiez l'environnement et que votre script ne génère pas de sortie, utilisez ce dernier.
.shsi vous mettez votre script à l'intérieur de/etc/profile.d/.chmode +x /etc/profile.d/myscript.shbien sûr aussi.