2
以下描述${!prefix*} ${[email protected]}
bash的手動擴展到的變量,其名稱開頭的前綴,由IFS特殊變量>第一個字符分隔的名字。當使用'@'且擴展>出現在雙引號內時,每個變量名稱將擴展爲單獨的單詞。
這裏,我的問題是「我可以使用$ {!前綴*}列出腳本中的所有聲明變量?」
在我的例子代碼
#!/bin/bash
VAR1="VAR1"
VAR2="VAR2"
NON_VAR="VAR3"
echo "${!VAR*}"
echo "${!*}"
echo "${!^*}"
RESULT======================
VAR1 VAR2
"NOTING_PRINTED"
"NOTING_PRINTED"
我希望它可以用來打印所有聲明的變量
喜歡,因爲它可以成功地打印所有「VAR *」的變量,但不能。
我知道有,我可以選擇列出所有聲明的變量其他的選擇,但
我想知道如果這句法下是可能的。
顯然不是。我也試過$ {![abc] *}和$ {![^!] *}。沒有運氣。 –
'eval echo'$ {!'{{a..z},{A..Z},_}'*}'' – 123