替换字符串中指定的特殊字符

使用场景:
输入的密码可能带有多个特殊字符,例如$ ^ &等,需要对其进行转移

这个我们使用awk来进行替换

类似实现方式如下:

function judgeCharacter(){
char="$1"
results=$(echo ${char}|awk 'BEGIN{FS="";OFS=""}{for(i=1;i<=NF;i++){if( $i == "&" || $i == "^" || $i == "$"){$i="\"$i}}} END{print $0}')

printf "${results}\n"
}

调用函数可以直接复制给指定的变量

eg:
result=judgeCharacter 123^$qwe

 返回结果为:123\^\$qwe

猜你喜欢

转载自blog.51cto.com/8026776/2498371