¿Cuál es la mejor manera de ejecutar un script al ingresar a un directorio?
Cuando me muevo a un nuevo directorio, me gustaría que bash ejecute el script projectSettings.bash al igual que RVM.
bash
shell-script
cd-command
MagoProspero
fuente
fuente
Respuestas:
Usted puede hacer
cd
una función (ypop
, ypushd
), y hacer que detecta si se introduce ese directorio en particular.No haga esto en directorios que no haya incluido en la lista blanca, ya que facilitaría que alguien lo engañe para que ejecute código arbitrario: le enviará un archivo, así que descomprímalo, cámbielo al directorio que creó, y usted ' Ahora he ejecutado el código del atacante.
No recomiendo este enfoque, porque significa que el script se ejecutará incluso si ingresa a ese directorio por alguna razón que no está relacionada con el trabajo en el proyecto. Sugiero tener una función específica que cambie al directorio del proyecto y obtenga el script de configuración.
fuente
cd
y sin duda hay una mejor manera. ¡Incluso usar $ PROMPT_COMMAND es mejor!if [ -z $MYSETTINGS ] ; then export MYSETTINGS=1 ; echo your settings here ; fi
. Esto es para evitar problemas en caso de que haga algo PATH = / mytools / bin: $ PATH tipo de inicialización.Direnv podría ser lo que estás buscando.
Aquí hay un ejemplo tomado de la documentación oficial:
fuente