我正在写一个快速的gitpush.sh文件。
git add -u
git commit -m 'quick update: '$1
git push origin master
echo $1
运行时,我想向其添加自定义消息。所以不要写:
sh gitpush.sh a_commit_for_lala_land
被视为$1
我想写
sh gitpush.sh a commit for lala land
没有下划线。如何修改$1
以总结多个参数,并在每个参数之间用空格形成一个句子?
修改 我知道这可能不适合git用法。但我只需要一个我独自工作的无关紧要的项目(没有分支机构等)。
答案 0 :(得分:2)
您可以使用$*
连接所有参数,例如:
git commit -m "$*"
注意:在连接时,它将使用$IFS
的值作为分隔符 - 如果它被定义为空格以外的其他内容,则可以在调用$*
之前临时重新定义它。
答案 1 :(得分:2)
正确使用引号:
git add -u
git commit -m "quick update: $1"
git push origin master
echo "$1"
然后当你调用脚本时:
sh gitpush.sh "a commit for lala land"
如果您真的反对使用引号,请让脚本提示您输入消息,而不是将其作为多个参数传递:
printf 'Commit message: ' >&2
IFS= read -r msg
git add -u
git commit -m "quick update: $msg"
git push origin master
echo "$msg"