Slecht: modificator in $ (/). verschijnt telkens na het inloggen en het aanmaken van een nieuw scherm in Linux

De volgende fout verschijnt altijd wanneer na het inloggen en het aanmaken van een nieuw scherm in Linux:

div id = “ae788370ca”>

Onlangs heb ik een aantal paden toegevoegd en ik weet niet of het gerelateerd is.

Voor de paden herinner ik me dat ik dingen heb toegevoegd aan $PATH en .bashrc.

Hoe kan ik het corrigeren zodat het niet opnieuw verschijnt?

Bedankt!

Reacties

  • We weten niet ' of het ' s ook gerelateerd. Kunt u alstublieft toevoegen wat u aan de vraag hebt gewijzigd?
  • “U hebt enkele paden toegevoegd” betekent dat u dingen hebt toegevoegd aan $PATH? Heeft u uw .bashrc gewijzigd? Kun je je .profile en .bashrc posten?
  • Zie stackoverflow.com/questions/8805839/bad-modifier-in
  • Wilde gok: je hebt een pad toegevoegd met $ erin, en de shell interpreteert $ als een speciaal teken.
  • Ik herinner me dat ik dingen aan $ PATH en .bashrc heb toegevoegd. Hoe kan ik mijn .profile en .bashrc bekijken? Mark, ik heb dat bericht bekeken en geprobeerd iets als: setenv PATH $ {PATH}: /, maar ' niet te werken.

Antwoord

Je gebruikt bash niet als je shell, maar (t)csh:

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

Als je in plaats daarvan bash wilt gebruiken, kun je waarschijnlijk chsh of vraag uw systeembeheerder om het voor u te wijzigen.

In bash, als u de : en plaats het binnen de accolades { } het zou betekenen dat een modifier moet worden toegepast op de variabele. In csh zijn de accolades niet nodig om een modifier toe te passen en zou je in feite accolades moeten toevoegen als je niet doet wil dat de : aangeeft dat een modifier hem volgt.

Reacties

  • Is dit een gok of een feit? Het ' is moeilijk te zeggen.
  • @Wildcard bash heeft heel verschillende foutmeldingen; het zou zeggen: ' syntaxisfout: operand verwacht (fouttoken is " / blah ") '. Ik heb mijn antwoord nog wat verduidelijkt.

Antwoord

Je moet “:” ontsnappen. Dus je cshrc-bestand zou er als volgt uit moeten zien:

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

Hierna kun je doen,

source ~/.cshrc 

om wijzigingen toe te passen op de huidige terminal. Het wordt automatisch toegepast de volgende keer dat u een nieuwe terminal opent.

Opmerkingen

  • Een correctere syntaxis in (t) csh zou setenv PATH ${PATH:q}:/path/to/add. Of beter set path = ($path:q /path/to/add) of zelfs beter in tcsh: set -f path = ($path:q /path/to/add) om de elementen uniek te houden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *