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.