2

「git add」プロセスを短縮するために、魚の殻関数を作成しました (非常に長いため)。

function ga
    if count $argv > 0
        git add $argv
    else
        git add .
    end
end

引数なしで呼び出した場合はディレクトリ全体を追加し、名前を付けた場合は特定のファイルのみを追加しますが、非常に奇妙な例外が 1 つあります。

引数の有無にかかわらず、「git add」の代わりに「ga」を使用すると、ディレクトリにファイル名「0」が作成されます。その内容は通常、単一の数値 (0 または 2) です。

ここで何が起こっているのか分かりますか?私は機能が好きなので、それはまったく奇妙で、本当に苦痛ですが、空の「0」ファイルを私が貢献するリポジトリにプッシュし続けたくありません。

4

1 に答える 1

4

それ>は比較を行っているのではなく、出力のリダイレクトです。つまり、次の出力を取得しています

count $argv

というファイルに書き込みます0。おそらく次のようなものが必要です。

function ga
    if [ (count $argv) -gt 0 ]
        git add $argv
    else
        git add .
    end
end
于 2013-06-05T22:26:21.857 に答える