0
試圖在bash腳本中打印一個字符串,但它會讓我無法預料地發生變化。不能在bash中打印帶括號的字符串
$> /usr/local/bin/bash --version
GNU bash, version 4.3.33(1)-release (x86_64-apple-darwin14.1.0)
下面是同樣簡單的腳本三種方式中,只有一個人不工作,我會期望
將打印role[ba]
預期
#!/usr/local/bin/bash
default="role[ba]"
echo $default
exit 1
打印roles
代替role[bas]
預計不到?
#!/usr/local/bin/bash
default="role[bas]"
echo $default
exit 1
打印role[foo]
預期
#!/usr/local/bin/bash
default="role[foo]"
echo $default
exit 1
我不知道有足夠的瞭解慶典,我爲什麼不能打印字符串瓦特/它role[bas]
?
你必須在當前目錄中的文件'roles'?如果你不引用這個變量,它會擴展到你的目錄中的目錄/文件名。 – fedorqui
啊 - 你是對的! – veilig