質問: コマンドの戻りステータスをテストしてバージョン管理システムを検出するbashスクリプト いくつかの種類のvcsで使用したいbashスクリプトを作成しています。典型的なinfoコマンドを実行し、戻りコード、成功またはエラーを確認することにより、ディレクトリがシステムのリポジトリであるかどうかをテストすることを考えています。疑似コード: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 コマンドを実行できます。 darcs show repoと$?その戻りコードを取得します。私の質問は、戻りコード番号を1行で実行して返すためのきちんとした方法はありますか?例えばif [ 0 -eq `darcs show repo`$? ]; または、関数を定義する必要がありますか?追加の要件として、stderrとstdoutの両方を印刷する必要があります。
回答: 別の簡潔なオプションは次のとおりです。[ -d .svn ] && { svn command 1; svn command 2; }