2017-03-24 4 views
1

私はこれを正しいトピックで作成していますが、より適切なものが意味をなさない場合は教えてください。トータルbash noob。bash関数にparamを追加しましたが、完全に失われました

私は.bash_profileにGITのadd-> commit-> pushflowを合理化するために以下の機能を持っています。

function lazygit() { 
    git add . 
    git commit -a -m "$1" 
    git push 
} 

そして、私はこのようにそれをトリガー:私はコミットメッセージを変更するであろうオプション第二のparamを持つようにそれを更新したいと思い

> lazygit "Did all the things" 

だから、このために:

> lazygit "Did all the things" "Staging" 

それは代わりにこれを行うだろう。

git commit -a -m "$1 [ Deploy:$2 ]" 

このオプションのパラメータを自分の関数に追加するにはどうすればよいですか?ありがとう。

答えて

3

ただ、このようなgitコマンドを書く:あなたはbash(1) manページの "パラメータ展開" を読めば、あなたは見つけるでしょう

git commit -a -m "$1${2:+" [ Deploy:$2 ]"}" 

を:

${parameter:+word}

を代替値を使用する。パラメータがnullまたは設定されていない場合は、 は何も置換されません。そうでない場合は、単語の拡張が置換されます。

$2に値が空でない場合は、[ Deploy:$2 ]のテキストがコミットメッセージに含まれます。

+0

クイック返信ありがとうございます。可能であれば、私はすべての非展開コミットメッセージが括弧で囲まれたテキストを全く持たないことを好むでしょう。 –

+0

それはあなたが得るものです。これを試しましたか? – larsks

+0

魅力的な作品です。申し訳ありませんが、私は昨夜、そこにロジックがないことを誓っています。あまりにも速くそれを読んでいる必要があります。ヘルプをよろしくお願いいたします。 –

関連する問題