Risposte:
Se vuoi che sia globale, modifica
/etc/profile
o aggiungi uno script a
/etc/profile.d
Se vuoi che sia specifico dell'utente, modifica
/home/$USER/.profile
/usr/local/bin/pihole -c
comando su accesso automatico di un utente specifico. Aggiunta questa riga a /home/$USER/.profile
: non succede nulla. Quando aggiungo script /etc/profile.d
allora funziona, ma è globale e lo esegue anche quando apro la sessione ssh (che non è quello che voglio). L'aggiunta a .bashrc
funziona anche, ma viene eseguita ogni volta che apro una nuova shell (che non è quello che voglio). Domanda: Perché aggiungere a /home/$USER/.profile
non funzionerebbe ???
Basta aggiungere lo script bash alle applicazioni di avvio.
Nel campo di comando, immettere
bash /full/path/to/bash/script.sh/
Se vuoi essere più specifico per bash puoi anche scrivere il tuo codice in ~ / .bash_profile o ~ / .bash_login.
E puoi procurarti qualsiasi script al suo interno, ad esempio:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profile
oppure $HOME/.profile
oppure$HOME/.bash_profile
Consiglio vivamente di non utilizzare /etc/profile.d/yourscript.sh
se produce output. Quando si utilizza una sessione non interattiva, si riceverà un $TERM is not set
messaggio. Ciò è evidente quando si utilizza il protocollo ssh, come scp. Di solito non è un grosso problema, tuttavia, a Veeam non piace e lancerà un avvertimento. So che Veeam non è l'argomento qui, ma vale la pena ricordare che non tutte le applicazioni ignoreranno con grazia l' $TERM is not set
avvertimento.
In breve, se lo script genera output, posizionalo nelle posizioni specificate sulla prima riga. Tuttavia, se stai modificando l'ambiente e il tuo script non genera output, usa quest'ultimo.
.sh
se metti dentro il tuo script/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
ovviamente anche.