両方のブランチでランダムなコマンドを実行するBash機能

両方のブランチでランダムなコマンドを実行するBash機能

複数のブランチでランダムなコマンドを実行するbash関数を作成したいと思います。

compare_command () {
    branch2="$1"
    shift
    command="$@"
    echo $branch2
    echo $command
    # assume $@ is command and args
    $(command) 2>&1 | tee baseline.log
    git checkout "$branch2"
    $(command) 2>&1 | tee "$branch2".log
    git checkout -
}

compare_command master lsたとえば、「コマンドが見つかりません:1」で失敗し、「 compare_command master ls -aコマンドが見つかりません:ls -a」で失敗します。

ベストアンサー1

私はあなたがbashで括弧がどのように使用されるのか混乱していると仮定します。

compare_command () {
    branch2="$1"
    shift
    echo "$branch2"
    echo "$@"
    # assume $@ is command and args
    "$@" 2>&1 | tee baseline.log
    git checkout "$branch2"
    "$@" 2>&1 | tee "$branch2".log
    git checkout -
}

おすすめ記事