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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM