shell脚本入参包含感叹号怎么处理
写了一个脚本导数,需要用到密码参数,传给sh脚本却报错,试了各种转义方式都无效,最后得出一个结论,sh的入参转义是没有用的.
这应该是sh本身的字符串处理机制,要想转义生效,必须在脚本里处理,而不是对入参进行转义.
所以,以db2 connect to xxx user xxx using xxx命令为例,要使入参正确生效,做法就是对 using 之后的密码转义:
db2 connect to xxx user xxx using \' $入参 \'
这样,取得入参后,整个命令执行时,密码被单引号包裹,就不会再报错了.