Följande fel visas alltid varje gång efter inloggning och skapande av en ny skärm i Linux:
Bad : modifier in $ (/).
Nyligen lade jag till några vägar och jag vet inte om det är relaterat.
För vägarna kommer jag ihåg att jag lade till saker till $PATH
och .bashrc
.
Hur kunde jag korrigera det så att det inte visas igen?
Tack!
Kommentarer
Svar
Du använder inte bash
som ditt skal, utan (t)csh
:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Om du istället vill använda bash
kan du förmodligen köra chsh
eller be din systemadministratör att ändra det åt dig.
I bash
, om du skulle feljustera :
och placera den i de lockiga hakparenteserna {
}
det skulle betyda att en modifier ska tillämpas på variabeln. I csh
behövs inte de lockiga hakparenteserna för att använda en modifierare och du skulle faktiskt behöva lägga till lockiga hakparenteser om du inte vill att :
ska signalera att en modifierare följer den.
Kommentarer
- Är detta en gissning eller ett faktum? Det är ' svårt att säga.
- @Wildcard
bash
har mycket olika felmeddelanden; det skulle säga: ' syntaxfel: operand förväntas (fel token är " / blah ") '. Jag klargjorde mitt svar lite mer.
Svar
Du måste fly ”:”. Så din cshrc-fil ska se ut,
setenv PATH $PATH\:/path/to/add
Efter detta kan du göra
source ~/.cshrc
för att tillämpa ändringar på den aktuella terminalen. Det tillämpas automatiskt nästa gång du öppnar en ny terminal.
Kommentarer
- En mer korrekt syntax i (t) csh skulle vara
setenv PATH ${PATH:q}:/path/to/add
. Eller bättreset path = ($path:q /path/to/add)
eller ännu bättre itcsh
:set -f path = ($path:q /path/to/add)
för att hålla elementen unika.
$PATH
? Ändrade du din.bashrc
? Kan du lägga upp din.profile
och.bashrc
?$
i och skalet tolkar$
som ett specialtecken.