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 -c
commande 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.d
cela 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 .bashrc
fonctionne 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/.profile
ne 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/profile
ou $HOME/.profile
ou$HOME/.bash_profile
Je recommande fortement de ne pas l'utiliser /etc/profile.d/yourscript.sh
s'il produit une sortie. Lorsque vous utilisez une session non interactive, vous recevrez un $TERM is not set
message. 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 set
avertissement.
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.
.sh
si vous mettez votre script à l'intérieur de/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
bien sûr aussi.