Il seguente errore appare sempre ogni volta che dopo il login e la creazione di una nuova schermata in Linux:
Bad : modifier in $ (/).
Recentemente ho aggiunto alcuni percorsi e non so se sia correlato.
Per i percorsi, ricordo di aver aggiunto cose a $PATH
e .bashrc
.
Come posso correggerlo in modo che “non venga visualizzato di nuovo?
Grazie!
Commenti
Risposta
Non utilizzi bash
come shell, ma (t)csh
:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Se desideri utilizzare bash
, probabilmente puoi eseguire chsh
o chiedi al tuo amministratore di sistema di modificarlo per te.
In bash
, se dovessi disallineare :
e inseriscilo tra parentesi graffe {
}
significherebbe che un modificatore deve essere applicato alla variabile. In csh
le parentesi graffe non sono necessarie per applicare un modificatore e in realtà sarà necessario aggiungere le parentesi graffe se non desidera che :
segnali che un modificatore lo sta seguendo.
Commenti
- È unipotesi o un fatto? È ' difficile da dire.
- @Wildcard
bash
ha messaggi di errore molto diversi; verrebbe visualizzato: ' errore di sintassi: operando previsto (il token di errore è " / blah ") '. Ho chiarito ancora un po la mia risposta.
Risposta
Dovrai sfuggire a “:”. Quindi, il tuo file cshrc dovrebbe avere il seguente aspetto
setenv PATH $PATH\:/path/to/add
Dopodiché, puoi farlo
source ~/.cshrc
per applicare le modifiche al terminale corrente. Verrà applicato automaticamente la prossima volta che aprirai un nuovo terminale.
Commenti
- Una sintassi più corretta in (t) csh sarebbe
setenv PATH ${PATH:q}:/path/to/add
. O meglioset path = ($path:q /path/to/add)
o ancora meglio intcsh
:set -f path = ($path:q /path/to/add)
per mantenere gli elementi unici.
$PATH
? Hai cambiato.bashrc
? Puoi pubblicare i tuoi.profile
e.bashrc
?$
e la shell interpreta$
come un carattere speciale.