Hier ist die konkrete Aufgabe, die ich versuche zu erreichen. zsh verhält sich so, wie ichWas ist der richtige Weg, um sowohl stdout als auch stderr in bash umzuleiten?
mag$ zsh
$ which clang > /dev/null 2&>1 && echo clang || echo gcc
clang
$ which doesntexist > /dev/null 2&>1 && echo doesntexist || echo gcc
gcc
Aber in bash:
$ bash
$ which clang > /dev/null 2&>1 && echo clang || echo gcc
gcc
Hier ist der allgemeine Fall:
$ which clang > /dev/null 2&>1; echo $?
1
$ which clang; echo $?
/usr/bin/clang
0
Irgendwas stimmt nicht mit, wie ich bin Ausgang umgeleitet wird. Was ist der richtige Weg?