私は持っている
git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }
git commit
デフォルトとしてが設定されます-v
。それ以外の場合は、パラメータを渡してgit
コマンドを実行します。
でも、もっと短くできるようなものでしょうか?
ご参考までに、ファイルを縮小中です.bashrc
。今のところ 28 行 (まだほとんど読める) まで縮小しました。
答え1
部分を繰り返さないための方法は次のとおりですcommand git
。
git () {
if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
command git "$@"
}
二重引用符なしでは使用しないでください$1
。二重引用符を省略する必要がある理由がわかっている場合を除き、変数の置換を常に二重引用符で囲んでください。
&&
およびをショートカットとして使用しないでください||
。見た目はきれいですし、文字数も節約できるかもしれませんが、文字数を節約しても意味がありません。読みやすさは重要であり、if
コードの意図をより明確に示します。
代わりに、git 構成でエイリアスを定義することもできます (ただし、この方法では既存のコマンドをシャドウすることはできないため、別の名前を使用する必要があります)。たとえば、次のようになります~/.gitconfig
。
[alias]
co = commit -v