Respuestas:
Si desea que sea global, modifique
/etc/profile
o agregue un script a
/etc/profile.d
Si desea que sea específico del usuario, modifique
/home/$USER/.profile
/usr/local/bin/pihole -c
comando en el inicio de sesión automático de un usuario específico. Se agregó esta línea a /home/$USER/.profile
- no pasa nada. Cuando agrego un script /etc/profile.d
, funciona, pero es global y lo ejecuta incluso cuando abro la sesión ssh (que no es lo que quiero). Agregar a .bashrc
funciona también, pero se ejecuta cada vez que abro un nuevo shell (que no es lo que quiero). Pregunta: ¿Por qué agregar a /home/$USER/.profile
no funcionaría?
Simplemente agregue el script bash a las aplicaciones de inicio.
En el campo de comando, ingrese
bash /full/path/to/bash/script.sh/
Si desea ser más específico de bash, también puede escribir su código en ~ / .bash_profile o ~ / .bash_login.
Y puede obtener cualquier script allí, por ejemplo:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profile
o $HOME/.profile
o$HOME/.bash_profile
Recomiendo encarecidamente no usar /etc/profile.d/yourscript.sh
si produce salida. Cuando use una sesión no interactiva, recibirá un $TERM is not set
mensaje. Esto se nota cuando se usa el protocolo ssh, como scp. Por lo general, no es un gran problema, sin embargo, a Veeam no le gusta y lanzará una advertencia. Sé que Veeam no es el tema aquí, pero vale la pena mencionar que no todas las aplicaciones ignorarán la $TERM is not set
advertencia.
En resumen, si el script genera salida, colóquelo en las ubicaciones especificadas en la primera línea. Sin embargo, si está modificando el entorno y su secuencia de comandos no genera resultados, utilice esta última.
.sh
si pones tu script dentro de/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
por supuesto también