Forzar solicitud en directorios específicos


4

¿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.

Ideas?


1
Depende de qué shell estés usando.
— Dennis Williamson

Respuestas:


6

Puedes poner algo como esto en tu .bashrc.

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!
— Wuffers
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.