SHELL传参注意事项,尽量使用双引号传参
Posted 赵海博运维博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SHELL传参注意事项,尽量使用双引号传参相关的知识,希望对你有一定的参考价值。
#!/bin/bash
function convert(){
keyword=${1//\/\\\\}
keyword=${keyword//./\.}
keyword=${keyword//*/\\*}
keyword=${keyword//&/\\&}
keyword=${keyword//$/\\$}
keyword=${keyword//+/\\+}
keyword=${keyword//=/\\=}
keyword=${keyword//^/\\^}
keyword=${keyword//\%/\\%}
keyword=${keyword//!/\\!}
keyword=${keyword//@/\\@}
keyword=${keyword//#/\\#}
keyword=${keyword//[/\\[}
keyword=${keyword//]/\\]}
keyword=${keyword//-/\\-}
keyword=${keyword// /\ }
# keyword=${keyword//?/\\?} ?号不能转义.要不然替换不成功
keyword=${keyword//"/\"}
echo $keyword
}
#调用函数,如果传参有空格,必须加双引号,否则函数会认为是多个参数
repkey=$(convert "$2")
repkey1=$(convert "$2")
newkey=$(convert "$3")
#调用shell脚本
sh xxx.sh /root "rep1" "rep2" "hh" 0
以上是关于SHELL传参注意事项,尽量使用双引号传参的主要内容,如果未能解决你的问题,请参考以下文章