SHELL特殊字符,需要转义的字符

特殊符号  转义
^  
]  
[  
@  
.  
*  
&  
$  
#  
!  
 (空格)  
-  
>       不用
=       不用
<       不用
+       不用
~       不用
}       不用
|       不用
{       不用
?       不用
;       不用
/       不用
)       不用
(       不用
`       传参时需要转义
"       传参时需要转义

传递参数全部使用""引号,参数内有"和`,需要用\转义.

#repkey.sh代码

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
}

猜你喜欢

转载自www.cnblogs.com/bretzhao/p/11831355.html