2017-04-24 15 views
0

功能的路徑解析路徑參數如何通過運作

gzip_files(){ 
    echo 'gzip files' 
    echo $1 
} 

gzip_files '/var/www/bak/*/*' 

輸出

gzip files 
/var/www/bak/site1/ini /var/www/bak/site1/db /var/www/bak/site2/ini /var/www/bak/site2/site /var/www/bak/site2/ini 

如何讓輸出爲

gzip files 
/var/www/bak/*/* 

回答

3

你必須引用$1

echo "$1" 

否則變量的內容將解釋爲,如果你直接輸入它,那就是通配符

echo /var/www/bak/*/* 

*將擴大。

2

引用變量擴展,以防止外殼的發生通配符:

gzip_files(){ 
    echo 'gzip files' 
    echo "$1" 
} 

需要注意的是,如果你想使用多個位置參數,你需要使用[email protected]指所有的人,而不只是第一一個由$1

gzip_files(){ 
    echo 'gzip files' 
    echo "[email protected]" 
}