Entonces, no tengo .bash_profile
ninguno .profile
en mi carpeta de inicio. ¿Cómo los creo? Después de eso, ¿qué debo hacer cada vez que abro el terminal para leer estos archivos?
Puedes usar el touch
comando.
Por ejemplo,
cd ~
para ir al directorio de inicio.
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 lo que vi
es, solo utilícelo nano
. Para abrir estos archivos, usaría:
sudo nano .bash_profile
sudo
se asegura de que podrá guardar estos archivos. Aquí puedes agregar aliases
. nano
o vi
creará automáticamente un nuevo archivo si no existe en su directorio actual en Terminal.
Después de que haya terminado, pulse Ctrl+ O, Entery Ctrl+ Xpara guardar y salir. Finalmente, usa
source ~/.bash_profile
para recargar la Terminal y leerá lo que pones en esos archivos.
Por supuesto, también puedes usar ese alias si quieres. :)
Para responder a su pregunta final, estos archivos se leerán automáticamente cada vez que abra la Terminal. Sin embargo, si hay un error (por ejemplo, no coloque espacios entre alias), se lo indicará.
Como señaló George, .bash_profile
solo se ejecutará en los shells de inicio de sesión. Para shells sin inicio de sesión, deberá crear un .bashrc
archivo con:
sudo nano .bashrc
touch
para crear archivos vacíos primero?nano
hace esto automáticamente de todos modos.~/.profile
como copia~/.bash_profile
? Y si tienes ambos, ¿qué tienes dentro~/.profile
que no se puede hacer~/.bash_profile
?sudo
se asegura de desordenar los derechos de usuario. No hagas eso.Puede copiar esos archivos desde / etc / skel / que son archivos de esqueleto para nuevos usuarios creados por comando como useradd en distribuciones basadas en Debian:
Shell cargará automáticamente estos archivos cada vez que inicie sesión. La forma de cargar esos archivos de perfil se describe en la página del manual de Shell. En caso de que use bash shell de manera especial (p. Ej., A través de ssh, ansible, etc.) debe usar el comando 'bash -ilc "que desea ejecutar en ENV preparado por esos archivos de perfil"'. -i significa shell interactivo lo que a menudo requiere .bashrc -l shell de inicio de sesión que hace que se cargue .profile (o existe .bash_profile; consulte la página del manual de bash) que luego carga .bashrc
fuente
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.
TextWrangler
BBEdit
fuente
También puede usar un editor de texto GUI como TextEdit:
open -e
es un acceso directo paraopen -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 .bash_profile y .profile, bash solo lee .bash_profile cuando se invoca como un shell de inicio de sesión interactivo. ksh lee el .profile cuando se invoca como un shell de inicio de sesión interactivo y por bash cuando se invoca como sh como un shell de inicio de sesión interactivo.
De hecho, le he dicho a iTerm 2 que abra nuevas shells como shells que no son de inicio de sesión, y mi .bash_profile solo contiene una línea como
. ~/.bashrc
. tmux y el modo de shell en emacs abren nuevos shells como shells sin inicio de sesión de forma predeterminada. .bash_profile todavía se lee cuando ssh a mi computadora.fuente
~/.bash_profile
y~/.profile
? ¿Y tú también tienes~/.bashrc
?. ~/.bashrc
.