
Tengo un bin/
bajo $HOME
. Contiene algunas versiones aumentadas de comandos comunes. Por lo tanto, no quiero que estos comandos sean utilizados por scripts, sino solo en uso interactivo.
Es lo mejor que puedo hacer para agregar
for f in ~/bin/*
do
alias "$(basename $f)"="$f"
done
para mi ~/.bash_profile
? ¿O hay otra solución?
Respuesta1
También puede agregar las siguientes líneas a su .bashrc
, que solo establece PATH
si está en un shell interactivo.
if [ "$PS1" ]
then
export PATH=~/bin:$PATH
fi
Respuesta2
Puede utilizar módulos de entorno para habilitar (cargar) manualmente un módulo configurando la ruta deseada
module load homebin
Cómo se vería el módulo homebin
#%Module1.0
prepend-path PATH ~/bin
Respuesta3
Depende de qué shell y (desafortunadamente) qué sistema esté utilizando. Bash, por ejemplo, usa diferentes archivos de inicio dependiendo de si se usa como un shell interactivo o no interactivo, como se explica en elmanual de bash.
En principio, debería poder agregar export PATH=$HOME/bin:$PATH
a su ~/.bashrc
archivo, que luego se ejecutará solo para shells interactivos sin inicio de sesión. En la práctica, algunos sistemas están configurados de manera que lean ~/.bashrc
también shells no interactivos.
Preguntas relacionadas: