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传参注意事项,尽量使用双引号传参的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript-12(传参练习)

linux shell 脚本入门学习(一变量数组传参)

mybatis动态sql片段与分页,排序,传参的使用

onclick方法参数中有单引号双引号空格

shell - 函数和数组

linux之shell---特殊字符$