2010-03-18 78 views
1

Linux的bash腳本:防止*在bash腳本擴展

#!/bin/bash 

function Print() 
{ 
    echo $1 
} 

var="*" 
Print $var 

執行結果:

[email protected]:~/tmp$ ./sample-script 
sample-script 

*擴展到文件列表,這實際上是腳本本身。我怎樣才能防止這一點,並看到實際的變量值?在一般情況下,var可能比*更復雜,例如:home/alex/mydir/*

回答

5

你需要逃避你的變量,也:

Print "$var" 

而且在你的函數:

echo "$1" 
3

集-o noglob

將拓展* 停止bash和可'unset noglob'刪除

+6

不,未使用'unset'。你會使用'set + o noglob' – 2010-03-18 17:47:37