這并不會打印出"this is the 2nd",而僅僅打印"this is the ",因為shell會去搜索變量numnd的值,但是這個變量時沒有值的。可以使用花括號來告訴shell我們要打印的是num變量:
num=2
echo "this is the ${num}nd"
#這將打印: this is the 2nd ,BASH 中變量定義是不需要的,沒有 "int i" 這樣的定義過程。如果想用一個變量,只要他沒有在前面被定義過,就直接可以用,當然你使用該變量的第一條語句應該是對他賦初值了,如果你不賦初值也沒關系,只不過該變量是空(注意:是 NULL,不是 0 )。大括號的作用,與雙引號的區別:大括號,雙引號使不能擴展,雙引號不能阻止變量的擴展,只能阻止通配符*的擴展,后文有詳細解釋。