Der folgende Fehler tritt immer dann auf, wenn nach dem Anmelden und Erstellen eines neuen Bildschirms unter Linux:
Bad : modifier in $ (/). 
Kürzlich habe ich einige Pfade hinzugefügt und ich weiß nicht, ob es damit zusammenhängt.
 Für die Pfade erinnere ich mich, dass ich $PATH und .bashrc. 
Wie kann ich das korrigieren, damit es nicht wieder angezeigt wird?
Vielen Dank!
Kommentare
- Wir ' wissen nicht, ob es ist entweder verwandt. Könnten Sie bitte hinzufügen, was Sie an der Frage geändert haben?
 -  „Sie haben einige Pfade hinzugefügt“ bedeutet, dass Sie 
$PATHInhalte hinzugefügt haben? Haben Sie Ihre.bashrcgeändert? Können Sie Ihre.profileund.bashrcveröffentlichen? - Siehe stackoverflow.com/questions/8805839/bad-modifier-in
 -  Wilde Vermutung: Sie haben einen Pfad mit 
$und der Shell hinzugefügt interpretiert$als Sonderzeichen. - Ich erinnere mich, dass ich $ PATH und .bashrc Dinge hinzugefügt habe. Wie kann ich mein .profile und .bashrc anzeigen? Mark, ich habe diesen Beitrag angesehen und versucht, Folgendes zu tun: setenv PATH $ {PATH}: /, aber ' hat nicht funktioniert.
 
Antwort
 Sie verwenden bash nicht als Shell, sondern (t)csh: 
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/). 
 Wenn Sie stattdessen bash verwenden möchten, können Sie wahrscheinlich chsh oder bitten Sie Ihren Systemadministrator, dies für Sie zu ändern. 
 In bash, wenn Sie die : und platzieren Sie es in geschweiften Klammern. { } Dies würde bedeuten, dass ein  Modifikator  ist auf die Variable anzuwenden. In csh werden die geschweiften Klammern nicht benötigt, um einen Modifikator anzuwenden, und Sie müssten tatsächlich geschweifte Klammern hinzufügen, wenn Sie dies nicht tun möchte, dass die : signalisiert, dass ein Modifikator ihm folgt. 
Kommentare
- Ist dies eine Vermutung oder eine Tatsache? ' ist schwer zu sagen.
 -  @Wildcard 
bashhat sehr unterschiedliche Fehlermeldungen. es würde sagen: ' Syntaxfehler: Operand erwartet (Fehlertoken ist " / blah ") '. Ich habe meine Antwort noch etwas präzisiert. 
Antwort
Sie müssen entkommen „:“. Ihre cshrc-Datei sollte also wie folgt aussehen:
setenv PATH $PATH\:/path/to/add 
Danach können Sie
source ~/.cshrc 
, um Änderungen am aktuellen Terminal vorzunehmen. Es wird automatisch angewendet, wenn Sie das nächste Mal ein neues Terminal öffnen.
Kommentare
-  Eine korrektere Syntax in (t) csh wäre 
setenv PATH ${PATH:q}:/path/to/add. Oder besserset path = ($path:q /path/to/add)oder noch besser intcsh:set -f path = ($path:q /path/to/add), um die Elemente eindeutig zu halten.