#!/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