Estoy tratando de escribir un script de shell bash en Ubuntu 11.10 Linux distro, que se ejecutará automáticamente al iniciar sesión en el sistema. Pero no puedo entender qué escribir en un script que se ejecutará automáticamente al iniciar sesión.
ubuntu
shell-script
login
profile
dubex
fuente
fuente
.sh
si pones tu script dentro de/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
por supuesto también/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
fuente
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:
fuente
/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.
fuente