2012-03-30 1 views
0

Ich habe im Anschluss an die Shell-Befehle mit Knoten auszuführen:Warum kann ich keine neuen Zeilenzeichen aus der Knotenexec-Funktion entfernen?

function puts(error, stdout, stderr) { 
    stdout = sanitize(stdout).rtrim("\n"); // remove new line 
    sys.puts(stdout); 
} 

ich diese Bibliothek verwenden, um zu versuchen, und entfernen Sie neue Linien:

npm install validator 

aber wenn ich so etwas wie dieses:

exec("ls -l", puts); 

es setzt eine neue Zeile Zeichen am Ende.

Ich benutze Linux so die neue Linie sollte nur ein \n oder ?!

Wie kann ich die neue Linie stoppen?

Vielen Dank.

Antwort

1

Sind Sie sicher, dass der Aufruf von sys.puts nicht das Hinzufügen der Zeilenschaltung ist? Probieren Sie sys.print aus und sehen Sie, was Sie bekommen.

In anderen Nachrichten, ich denke, dass sys.puts (und sys im Allgemeinen) in node.js für eine Weile veraltet sind. Sie sollten wahrscheinlich console.log für diese Art von Sache verwenden.

+0

Nein .. versucht console.log (...) und das Gleiche passiert. Es ist, was ich normalerweise verwenden würde: s. – ale

+0

Sowohl 'sys.puts' (jetzt' util.puts') als auch 'console.log' fügen neue Zeilen hinzu. Versuchen Sie stattdessen '{sys | util} .print', wie Cameron es vorschlägt. Es werden keine Zeilenumbrüche angehängt. –

Verwandte Themen