Følgende fejl vises altid hver gang efter login og oprettelse af en ny skærm i Linux:
Bad : modifier in $ (/).
For nylig tilføjede jeg nogle stier, og jeg ved ikke, om det er relateret.
For stierne husker jeg, at jeg tilføjede ting til $PATH
og .bashrc
.
Hvordan kunne jeg rette det, så det ikke vises igen?
Tak!
Kommentarer
Svar
Du bruger ikke bash
som din shell, men (t)csh
:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Hvis du vil bruge bash
i stedet, kan du sandsynligvis køre chsh
eller bed din systemadministrator om at ændre det for dig.
I bash
, hvis du skulle forkert justere :
og placer det i de krøllede seler {
}
det ville betyde, at en modifikator skal anvendes på variablen. I csh
er de krøllede seler ikke nødvendige for at anvende en modifikator, og du ville faktisk have brug for at tilføje krøllede seler, hvis du ikke vil have, at :
signalerer, at en modifikator følger den.
Kommentarer
- Er dette et gæt eller en kendsgerning? Det ' er svært at fortælle.
- @Wildcard
bash
har meget forskellige fejlmeddelelser; det ville sige: ' syntaksfejl: forventet operand (fejltoken er " / blah ") '. Jeg afklarede mit svar lidt mere.
Svar
Du bliver nødt til at flygte “:”. Så din cshrc-fil skal se ud,
setenv PATH $PATH\:/path/to/add
Herefter kan du gøre
source ~/.cshrc
for at anvende ændringer til den aktuelle terminal. Den anvendes automatisk næste gang du åbner en ny terminal.
Kommentarer
- En mere korrekt syntaks i (t) csh ville være
setenv PATH ${PATH:q}:/path/to/add
. Eller bedreset path = ($path:q /path/to/add)
eller endnu bedre itcsh
:set -f path = ($path:q /path/to/add)
for at holde elementerne unikke.
$PATH
? Har du ændret din.bashrc
? Kan du sende din.profile
og.bashrc
?$
i, og skallen fortolker$
som et specialtegn.