¿Hay alguna forma de cambiar la solicitud en un directorio diferente en la misma máquina? Por ejemplo, quiero un mensaje simple "[\ W] \ $" en los directorios de desarrollo.
prompt-function(){case $PWD in/a/dev/dir\
|/another/dev/dir)
PS1="[\W] \$";;*)# Change this to the default prompt
PS1="\$ ";;esac}
PROMPT_COMMAND=prompt-function
+1 Usaría una casedeclaración en lugar de una serie de elsifdeclaraciones. Incluso podría poner los directorios en una matriz e iterar sobre ellos con un bucle for. Podrías usar patrones globbing con cualquiera de esas técnicas o podrías usar expresiones regulares con [[ $PWD =~ $pattern ]].
Dennis Williamson el
@ Dennis: edité mi respuesta con una casedeclaración. Gracias por la sugerencia.
Wuffers
Si la acción es la misma, puede enumerar la acción una vez después de casos alternativos separados por caracteres de canalización. foo|bar) action;;Puede colocar los casos en líneas separadas colocando una barra diagonal inversa y una nueva línea antes o después del carácter de la tubería.
Dennis Williamson
@ Dennis: Edité mi respuesta en consecuencia, nuevamente. ¡Gracias por la sugerencia!
Respuestas:
Puedes poner algo como esto en tu
.bashrc
.fuente
case
declaración en lugar de una serie deelsif
declaraciones. Incluso podría poner los directorios en una matriz e iterar sobre ellos con un bucle for. Podrías usar patrones globbing con cualquiera de esas técnicas o podrías usar expresiones regulares con[[ $PWD =~ $pattern ]]
.case
declaración. Gracias por la sugerencia.foo|bar) action;;
Puede colocar los casos en líneas separadas colocando una barra diagonal inversa y una nueva línea antes o después del carácter de la tubería.