No puedo encontrar .bash_profile
en Ubuntu 14.04 en mi /home/user
directorio. Usé el ls -a
comando para ver el .bash_profile
, pero no existe ese archivo.
No puedo encontrar .bash_profile
en Ubuntu 14.04 en mi /home/user
directorio. Usé el ls -a
comando para ver el .bash_profile
, pero no existe ese archivo.
Respuestas:
Ubuntu utiliza ~/.profile
.
puedes crear tu .bash_profile
en Ubuntu pero luego .profile
no será leído.
Si leemos contenido .profile:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Así que usa en ~/.profile
lugar de~/.bash_profile
vim ~/.bashrc
entonces. ~/.bashrc
Al invocar un shell de inicio de sesión bash buscará sus archivos de configuración en este orden:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
Después de encontrar el primero, deja de buscar a los demás, por lo que si hay un .bash_profile
en mi $HOME
bash no buscará .bash_login
y .profile
nunca más.
A partir de estos tres nombres de archivo, Ubuntu utiliza de manera predeterminada a la .profile
que puede cambiarle el nombre .bash_profile
si lo desea:
mv ~/.profile ~/.bash_profile
Ahora bien, si abrimos una nueva shell bash usando bash -l
, su - $USER
, sudo -u $USER -i
o cualquier otro comando que se ejecuta bash como un intérprete de ingreso, ~/.bash_profile
será conseguir origen.
Lo que he hablado hasta ahora solo se aplica a Bash en sí, cuando inicia sesión en el sistema desde una GUI, el administrador de pantalla es responsable de obtener los archivos correctos.
Ubuntu usa gdm3
como su administrador de pantalla, si echamos un vistazo a: /etc/gdm3/Xsession
podemos ver que ninguno de los archivos se obtendrá excepto .profile
:
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
así que si está utilizando una GUI para iniciar sesión, mantenga el archivo bajo su .profile
nombre, de lo contrario, podría perder algunas variables y configuraciones en sus entornos.
Supongo que la mejor opción es crear un enlace simbólico para .profile
:
ln -s ~/.profile ~/.bash_profile
Ahora sus datos viven .profile
, gdm
no se pierde nada, carga bash lo .bash_profile
que realmente es .profile
, y al editar cada uno de ellos obtiene el mismo resultado.
Si no lo tienes .profile
, toma una copia de aquí:
cp /etc/skel/.profile ~/.profile
o
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
man bash
en Ubuntu todavía describe cómo buscará .bash_profile primero.
.bash_profile
primera no puede encontrarlo (porque no existe) a continuación, busca .bash_login
no lo encuentra de nuevo (porque no lo hace Ubuntu utiliza estos dos nombre) finaly busca .profile
y sí ahí está. Así que si se crea una .bash_profile
de ~
entonces va a sobrescribir de ubuntu ~/.profile
, que es el comportamiento por defecto de la nada golpe ha sido modificado aquí.
.bash_profile
, no se lee. Me acabo de dar cuenta de que esto se debe a que Ubuntu ya no usa 'Bash' como un shell de inicio de sesión GUI. Utiliza 'Dash' en su lugar. Creo que esto ha sido cierto desde aproximadamente 18.04.
Eso significa que el archivo no existe. Pero puede crear el archivo y bash
ejecuta / origina el archivo si bash
se invoca como un shell de inicio de sesión. Así que cada vez que inicie sesión a través de un shell (por ejemplo a través de ssh
)
Si desea que el contenido se ejecute cada vez que abra un terminal, debe modificar el .bashrc
archivo.
/etc/skel/
directorio.
.bash_profile
que falta (y no funciona) en Ubuntu en los comentarios sobre otras respuestas.
La mejor respuesta para usar en ~/.profile
lugar de ~/.bash_profile
no funcionó para mí.
Modificar .bashrc
trabajado
Sólo:
vim ~/.bashrc
Nota: estoy usando Ubuntu WSL.
~/.profile
simplemente no se carga por defecto en ubuntu 18.04
Si te refieres al .bashrc, lo encontrarás en tu carpeta de inicio. Si no está allí, puede copiarlo desde la carpeta / etc / skel a su carpeta de inicio.
Si necesita más información sobre este tema, visite la página de stefaan lippens.
~/.profile
en su lugar.