
¿Cómo hacer que la cadena PS1 siempre se reevalúe cada vez que el usuario ingresa la tecla Intro en el símbolo del shell?
real en el mio:
n=A; PS1="$n"
n=B
El mensaje sigue mostrando A. ¿Cómo solucionarlo?
Respuesta1
Su variable $PS1 usa $n una vez porque $n se evalúa y reemplaza con su valor cuando $PS1 se establece inicialmente. Esto se debe a que está utilizando comillas dobles; en bash, evalúa las variables en la cadena entre comillas dobles en una asignación.
Si desea que su $PS1 refleje el valor actual de $n, debe tener comillas simples alrededor de $n o escapar del signo de dólar.
Por ejemplo:
PS1='$n'
O
PS1="\$n"