Bad: modificator în $ (/). apare ori de câte ori după conectare și crearea unui nou ecran în Linux

Următoarea eroare apare întotdeauna ori de câte ori după conectare și crearea unui nou ecran în Linux:

Bad : modifier in $ (/). 

Recent am adăugat câteva căi și nu știu dacă este legat.

Pentru căi, îmi amintesc că am adăugat lucruri la $PATH și .bashrc.

Cum aș putea să-l corectez astfel încât să nu mai apară?

Vă mulțumim!

Comentarii

  • Nu ' nu știm dacă ' este legat fie. Ați putea adăuga ceea ce ați schimbat la întrebare, vă rog?
  • „Ați adăugat câteva căi“ înseamnă că ați adăugat lucruri la $PATH? V-ați schimbat .bashrc? Puteți posta .profile și .bashrc?
  • Consultați stackoverflow.com/questions/8805839/bad-modifier-in
  • Ghicitoare: ați adăugat o cale cu $ și shell-ul interpretează $ ca un caracter special.
  • Îmi amintesc că am adăugat lucruri la $ PATH și .bashrc. Cum aș putea vizualiza .profile și .bashrc? Mark, am văzut această postare și am încercat să fac ceva de genul: setenv PATH $ {PATH}: /, dar nu a funcționat '.

Răspuns

Nu utilizați bash ca shell, ci (t)csh:

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

Dacă doriți să utilizați în schimb bash, puteți rula probabil chsh sau cereți administratorului de sistem să îl modifice pentru dvs.

În bash, dacă ați alinia greșit : și plasați-l în interiorul parantezelor { } ar însemna că un modificator se aplică variabilei. În csh parantezele nu sunt necesare pentru a aplica un modificator și de fapt ar fi nevoie să adăugați paranteze dacă nu nu doresc ca : să semnaleze că un modificator îl urmărește.

Comentarii

  • Este o presupunere sau un fapt? Este ' greu de spus.
  • @Wildcard bash are mesaje de eroare foarte diferite; s-ar spune: ' eroare de sintaxă: operand așteptat (simbolul de eroare este " / bla ") '. Am clarificat răspunsul meu încă ceva.

Răspuns

Va trebui să scapi „:”. Deci, fișierul dvs. cshrc ar trebui să arate,

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

După aceasta, puteți face,

source ~/.cshrc 

pentru a aplica modificări la terminalul curent. Va fi aplicat automat data viitoare când deschideți un terminal nou.

Comentarii

  • O sintaxă mai corectă în (t) csh ar fi setenv PATH ${PATH:q}:/path/to/add. Sau mai bine set path = ($path:q /path/to/add) sau chiar mai bine în tcsh: set -f path = ($path:q /path/to/add) pentru a păstra elementele unice.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *