Ich arbeite an einem Bash-Skript, das ich für verschiedene Arten von VCS arbeiten möchte. Ich denke darüber nach zu testen, ob ein Verzeichnis ein Repo für ein System ist, indem ich einen typischen Info-Befehl ausführe und den Rückkehrcode, den Erfolg oder den Fehler überprüfe. Im Pseudocode:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
Ich kann einen Befehl ausführen, z. B.
darcs show repo
verwenden $?
, um seinen Rückkehrcode abzurufen.
Meine Frage ist: Gibt es eine gute Möglichkeit, die Rückkehrcode-Nummer in einer Zeile auszuführen und zurückzugeben? beispielsweise
if [ 0 -eq `darcs show repo`$? ];
Oder muss ich eine Funktion definieren?
Eine zusätzliche Anforderung ist, dass sowohl stderr als auch stdout gedruckt werden müssen.