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
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 bineset path = ($path:q /path/to/add)
sau chiar mai bine întcsh
:set -f path = ($path:q /path/to/add)
pentru a păstra elementele unice.
$PATH
? V-ați schimbat.bashrc
? Puteți posta.profile
și.bashrc
?$
și shell-ul interpretează$
ca un caracter special.