El siguiente error siempre aparece después de iniciar sesión y crear una nueva pantalla en Linux:
Bad : modifier in $ (/).
Recientemente agregué algunas rutas y no sé si están relacionadas.
Para las rutas, recuerdo que agregué cosas a $PATH
y .bashrc
.
¿Cómo puedo corregirlo para que no vuelva a aparecer?
¡Gracias!
Comentarios
Respuesta
No utilizas bash
como tu shell, sino (t)csh
:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Si desea utilizar bash
en su lugar, probablemente pueda ejecutar chsh
o pídale al administrador del sistema que lo cambie por usted.
En bash
, si tuviera que desalinear el :
y colóquelo dentro de las llaves {
}
significaría que un modificador se aplicará a la variable. En csh
las llaves no son necesarias para aplicar un modificador y en realidad necesitaría agregar llaves si no desea que :
indique que un modificador lo está siguiendo.
Comentarios
- ¿Es una suposición o un hecho? Es ' difícil de decir.
- @Wildcard
bash
tiene mensajes de error muy diferentes; diría: ' error de sintaxis: operando esperado (el token de error es " / blah ") '. Aclaré mi respuesta un poco más.
Respuesta
Deberá escapar «:». Entonces, su archivo cshrc debería verse así,
setenv PATH $PATH\:/path/to/add
Después de esto, puede hacerlo,
source ~/.cshrc
para aplicar cambios a la terminal actual. Se aplicará automáticamente la próxima vez que abra una nueva terminal.
Comentarios
- Una sintaxis más correcta en (t) csh sería
setenv PATH ${PATH:q}:/path/to/add
. O mejorset path = ($path:q /path/to/add)
o incluso mejor entcsh
:set -f path = ($path:q /path/to/add)
para mantener los elementos únicos.
$PATH
? ¿Cambió su.bashrc
? ¿Puedes publicar tu.profile
y.bashrc
?$
y el shell interpreta$
como un carácter especial.