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
bashhar 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.profileog.bashrc?$i, og skallen fortolker$som et specialtegn.