Dårlig: modifikator i $ (/). vises hver gang etter pålogging og oppretting av en ny skjerm i Linux

Følgende feil vises alltid hver gang etter pålogging og oppretting av en ny skjerm i Linux:

Bad : modifier in $ (/). 

Nylig la jeg til noen stier, og jeg vet ikke om det er relatert.

For stiene husker jeg at jeg la til ting til $PATH og .bashrc.

Hvordan kunne jeg rette det slik at det ikke vises igjen?

Takk!

Kommentarer

  • Vi vet ikke ' om det ' er relatert til enten. Kan du legge til det du endret i spørsmålet, takk?
  • «Du la til noen baner» betyr at du la til ting i $PATH? Har du endret .bashrc? Kan du legge ut .profile og .bashrc?
  • Se stackoverflow.com/questions/8805839/bad-modifier-in
  • Vill gjetning: du la til en bane med $ i, og skallet tolker $ som et spesialtegn.
  • Jeg husker at jeg la til ting i $ PATH og .bashrc. Hvordan kunne jeg se .profilen min og .bashrc? Mark, jeg har sett det innlegget og prøvd noe sånt som: setenv PATH $ {PATH}: /, men fungerte ikke '.

Svar

Du bruker ikke bash som skall, men (t)csh:

> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/). 

Hvis du vil bruke bash i stedet, kan du sannsynligvis kjøre chsh eller be systemadministratoren om å endre det for deg.

I bash, hvis du skulle feiljustere : og plasser den i krøllete bukseseler { } det vil bety at en modifikator skal brukes på variabelen. I csh krøllete bukseseler er ikke nødvendig for å bruke en modifikator, og du vil faktisk trenge å legge til krøllete bukseseler hvis du gjør ikke vil at : skal signalisere at en modifikator følger den.

Kommentarer

  • Er dette en gjetning eller et faktum? Det ' er vanskelig å fortelle.
  • @ Wildcard bash har veldig forskjellige feilmeldinger; det vil si: ' syntaksfeil: operand forventet (feiltegn er " / blah ") '. Jeg avklarte svaret mitt litt mer.

Svar

Du må flykte «:». Så cshrc-filen din skal se ut,

setenv PATH $PATH\:/path/to/add 

Etter dette kan du gjøre det,

source ~/.cshrc 

for å bruke endringer på gjeldende terminal. Den blir automatisk brukt neste gang du åpner en ny terminal.

Kommentarer

  • En mer korrekt syntaks i (t) csh ville være setenv PATH ${PATH:q}:/path/to/add. Eller bedre set path = ($path:q /path/to/add) eller enda bedre i tcsh: set -f path = ($path:q /path/to/add) for å holde elementene unike.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *