shell脚本入参包含感叹号怎么处理

写了一个脚本导数,需要用到密码参数,传给sh脚本却报错,试了各种转义方式都无效,最后得出一个结论,sh的入参转义是没有用的.

这应该是sh本身的字符串处理机制,要想转义生效,必须在脚本里处理,而不是对入参进行转义.

所以,以db2 connect to xxx user xxx using  xxx命令为例,要使入参正确生效,做法就是对 using 之后的密码转义:

db2 connect to xxx user xxx using \' $入参 \' 

这样,取得入参后,整个命令执行时,密码被单引号包裹,就不会再报错了.

posted @ 2018-11-10 03:46  知难行难  阅读(2381)  评论(0编辑  收藏  举报