2013-04-28 63 views
0

bash將var_ *擴展爲與通配符($ var_1 $ var_2等)匹配的定義變量。

var_1='' 
var_2='' 
for v in ${!var_*}; do echo $v; done 

回報「VAR_1」和「VAR_2」串

什麼是教科書的方式通過定義瓦爾與/ bin/sh的類似的方式來遍歷? (這將節省不得不安裝bash。)

回答

0

也許夠了?

var_1='' 
var_2='' 
for v in `set | sed -n '/^var_/s/=.*//p'` 
do 
    echo $v 
done 

echo ====== 

var_3='' 
for v in `set | sed -n '/^var_/s/=.*//p'` 
do 
    echo $v 
done 

將打印

var_1 
var_2 
====== 
var_1 
var_2 
var_3 
+0

現在我不知道'set'這樣做,打印所有定義名稱的值。 – user5321531 2013-04-28 19:05:29

+0

是的,它就像'printenv',但打印所有變量,不僅是輸出的變量。 – jm666 2013-04-28 19:14:24