Por lo tanto, no tengo .bash_profile
ni .profile
en mi carpeta de inicio. ¿Cómo los creo? Después de eso, ¿qué debo hacer cada vez que abro la terminal para leer estos archivos?
Por lo tanto, no tengo .bash_profile
ni .profile
en mi carpeta de inicio. ¿Cómo los creo? Después de eso, ¿qué debo hacer cada vez que abro la terminal para leer estos archivos?
Puedes usar el comando touch
.
Por ejemplo,
cd ~
para ir al directorio principal.
Ahora crearemos un archivo llamado .bash_profile
(el punto significa que estará oculto).
Luego use nano
o vi
en la Terminal. A menos que sepa qué es vi
, solo use nano
. Para abrir estos archivos, usaría:
sudo nano .bash_profile
sudo
se asegura de que pueda guardar estos archivos. Aquí, puedes agregar aliases
. nano
o vi
creará automáticamente un nuevo archivo si no existe en su directorio actual en la Terminal.
Una vez que hayas terminado, presiona Ctrl + O , Ingresa y Ctrl + X para guardar y salir. Por último, utilice
source ~/.bash_profile
para volver a cargar el terminal y leerá lo que pones en esos archivos.
Por supuesto, también puedes alias si quieres. :)
Para responder a tu pregunta final, Estos archivos se leerán automáticamente cada vez que abra la Terminal. Sin embargo, si hay un error (por ejemplo, no coloques espacios entre alias), te lo dirá.
Como señaló George, .bash_profile
solo se ejecutará en shells de inicio de sesión. Para shells que no son de inicio de sesión, deberá crear un archivo .bashrc
con:
sudo nano .bashrc
Prefiero usar editores de texto GUI como BBEdit o TextWrangler. Estos editores de texto pueden manejar archivos invisibles como .profile y .bash_profile y tienen la ventaja de tener una interfaz GUI, a diferencia de nano, que es una interfaz de consola.
También puedes usar un editor de texto GUI como TextEdit:
touch ~/.bash_profile
open -e ~/.bash_profile
open -e
es un acceso directo para open -a TextEdit
.
No necesariamente tiene que crear .profile o .bashrc. Terminal e iTerm 2 abren nuevos shells como shells de inicio de sesión, por lo que bash no lee .bashrc. Si existen tanto .bash_profile como .profile, bash lee solo .bash_profile cuando se invoca como un shell de inicio de sesión interactivo. .profile es leído por ksh cuando se invoca como shell de inicio de sesión interactivo y por bash cuando se invoca como sh como shell de inicio de sesión interactivo.
En realidad, le dije a iTerm 2 que abriera nuevos shells como shells sin inicio de sesión, y mi .bash_profile solo contiene una línea como . ~/.bashrc
. tmux y el modo shell en emacs abren nuevos shells como shells sin inicio de sesión por defecto. .bash_profile todavía se lee cuando ssh a mi computadora.