在Windows下使用Git配置代理服务器时,需要使用
git config --global proxy.http http://userid:password@proxy.company.com:8080
来配置代理。其中因为password中含有感叹号“!”,在git终端中显示
“!:event not found”。
在本以为是git的问题,Google了“git !:event not found “,发现大多数使用git碰到这个问题的人,都是在git commit -m "some commit"
时碰到了同样的问题。其中提交时的备注中含有了感叹号,比如:
git commit -m "First commit!"
就会报错!:event not found,很明显,commit时出现的错误和配置代理服务器时出现的错误是一个原因。
原因
linux下bash中,单引号和双引号的含义是不同的:单引号中的字符串,其中的特殊字符的意义都被剥夺了,而双引号中的某些特殊字符是有意义的。比如’$’(参数替换)和’`’(命令替换)。