
Ich habe eine Bash-Funktion erstellt svn
, um die Ausgabe zu verschönern. Diese Funktion zeigt eine Zeile pro Commit an. Das ist großartig! Ich mag sie, aber wenn ich sie mit Pipe verwende, funktioniert sie nicht. Sie finden sie aufGitHub SVN-Verschönern
$ svn -log -l 2
r22 fabio 2014-03-27 12:38:10 +0100 (gio, 27 mar 2014) 1 line Some comments
r23 fabio 2014-03-27 13:35:17 +0100 (gio, 27 mar 2014) 1 line Some comments
es wäre schön, wenn ich es mit verwenden könnte | grep
.
Antwort1
Du hast das:
if [ "$SVN_COLOR" != "always" ] && (
[ $NOCOL = 1 ] || [ "$SVN_COLOR" = "never" ] || [ ! -t 1 ]
)
Es ist der [ ! -t 1 ]
Test, der dazu führt, dass Ihre Funktion zu früh zurückkehrt. Wenn Sie Ihre Funktion in eine Pipe leiten, wird stdout (Dateideskriptor 1
)nichtein Terminal.
Antwort2
Dies ist definitiv kein allgemeines Bash-Funktions-mit-Pipes-Problem.
~$ x() { ls "$@" ; }
~$ x / | cat -n | head
1 bin
2 boot
3 dev
4 etc
5 home
6 initrd.img
7 initrd.img.old
8 lib
9 lib32
10 lib64
...gibt es keine spezielle Stackexchange-Site für Codeüberprüfungen? Vielleicht dort nachfragen?