2016-08-15 3 views
0

Ich führte den Befehl npm completion >> ~/.bashrc im Terminal, die Änderungen an meiner .bashrc-Datei vorgenommen; Nun, wenn die Klemme geöffnet wird, werden die Fehler I:Ubuntu Bash präsentiert Fehler "Syntaxfehler in der Nähe von unerwarteten Token` Newline '"nach Bearbeitung .bashrc Datei

bash: /home/user/.bashrc: line 126: syntax error near unexpected token `newline' 
bash: /home/user/.bashrc: line 126: `Usage: npm <command>' 

Der relevante Auszug aus meiner Bashrc Datei (Zeile 126-129) ist wie folgt:

126: Usage: npm <command> 
127: 
128: where <command> is one of: 
129: access, add-user, adduser,... 

, die von einem Befehl gefolgt wird NPM Abschluss-Skript.

Das Ausführen von npm help gibt Informationen über die Verwendung von npm im Terminal wie erwartet (und wie zuvor) aus, so dass sich die Funktionalität nicht geändert hat, außer dass jetzt die obige Warnung angezeigt wird. Wie kann ich:

  1. umkehren Sie die npm completion >> ~/.bashrc Änderungen mit einem Terminal-Befehl (wenn ja, was ist dieser Befehl); oder
  2. Was ändere ich in der .bashrc-Datei, um die Warnungen von meinem Terminal zu entfernen?

Dank

+2

Ich vermute, der einfachste Weg für Sie, dies zu beheben wäre, 'nano ~/.bashrc 'zu laufen, um die Datei zu bearbeiten, um die Zeilen am Ende der Datei selbst zu entfernen. Andere Editoren sind natürlich verfügbar, aber 'nano' ist wahrscheinlich am einfachsten für jemanden zu verwenden, der nicht mit seiner Arbeitsweise vertraut ist. – Phylogenesis

Antwort

0

Der npm Befehl nicht verstehen, das completion Argument und gibt eine Hilfemeldung in diesem Sinne.

Die Nachricht wurde Hilfe dann zu Ihrem .bashrc angehängt:

Usage: npm <command> 

Wenn die Shell diese Zeile interpretiert, es will effektiv

Usage: npm <command> 

(Der Befehl "Usage:" laufen, mit ersten arg "npm", stdio umgeleitet von einer Datei namens "Befehl" und Ausgabe umgeleitet zu ... oops, kein Dateiname nach >, so Syntaxfehler.

Die Lösung besteht darin, den richtigen npm Befehl auszuführen, der keine Hilfemeldung erzeugt.

+0

Ist es nicht komisch, dass npm seinen Usage-Klappentext auf stdout anstatt stderr ausgibt? Wenn es so wäre, hätte chris_p_ in seiner .bashrc keinen Syntaxfehler gehabt. – asjo

0
  1. Sie können nicht einfach tun; Es sieht so aus, als hätten Sie verschiedene Befehle ausgeführt, die Zeilen an Ihre .bashrc anhängen, eine davon npm mit einer Option, die sie nicht verstanden hat.

  2. Starten Sie Ihren bevorzugten Texteditor und entfernen Sie die problematischen Zeilen ("Verwendung: ..." usw.) vom Ende, wenn Ihre .bashrc.

+0

Ich entfernte alles unter Zeile 126 und der Fehler war weg, und der npm help Befehl funktionierte noch immer so, dass es so aussah, als wäre dieser Anhang unnötig. Danke –

+0

'npm help' würde immer funktionieren; Der Zweck der Ausführung von 'npm completion' wäre es, den 'bash'-Code zu erzeugen, der notwendig ist, um die Tab-Vervollständigung von Argumenten für den' npm'-Befehl zu erlauben. Ihre Version von 'npm' scheint jedoch den' completion' Befehl nicht zu unterstützen; Es wird eine Fehlermeldung anstelle von Zeilen ausgegeben, die zu '.bashrc' hinzugefügt werden sollen. – chepner

+0

Hinzufügen von Sachen zu.bashrc macht "npm help" nicht/funktioniert nicht. Die Idee des Befehls, den Sie ausführen wollten, war, dass "npm startofcommandTAB" den Befehl "completion" ausführt. Wenn Sie also zum Beispiel "npm insTAB" geschrieben haben, dann könnte bash das in "npm install" für Sie erledigen und damit ein wenig Tipparbeit sparen. – asjo

Verwandte Themen