我有一个看起来像这样的bash函数。
function gg() {
git add . && git commit -v -m "$*"
}
它从控制台获取任何参数并将其用作提交消息。
问题在于它不会处理()
,´
,"
等特殊字符。
有没有办法逃避进入params,所以我可以使用任何给定的参数?
这是如何使用该功能。
gg修正了所有错误(关闭123)
它运行此命令。
git add。 &安培;&安培; git commit -v -m“修复了所有错误(关闭123)”
该示例将返回此错误。
-bash:意外令牌附近的语法错误`('
答案 0 :(得分:1)
你的错误不是来自你的脚本,它来自bash,它试图在你的特殊字符被传递到你的脚本之前解释它。
gg "Fixed all bugs (closed 123)"
应该可以正常工作。