0
我在迭代通過作爲參數傳遞給我的bash腳本中的函數的數組時遇到問題。我認爲this question的答案可以解決我的問題,但是我得到了一個不同的錯誤,問題很老,所以我想我應該問一個新問題。在shell腳本中遍歷數組作爲參數給出的參數
我想這個代碼轉換爲一個功能,這樣我就可以傳遞不同的參數:
EX='WT'
declare -a SCN=('fq1'
'fq2'
'fq3')
for i in "${SCN[@]}"; do
echo $i
echo $EX'_'$i
done
這將打印
fq1
WT_fq1
fq2
WT_fq2
fq3
WT_fq3
我曾嘗試:
function myfx(){
echo $1
MYNOR=("${!2}")
for i in ${MYNOR[@]}; do
echo $i
echo $1'_'$i
done
}
myfx $EX $SCN[@]
不幸的是,我所得到的全部是
WT
它似乎沒有執行循環內的語句。獲得功能工作
!在bash腳本中導致歷史替換。 –
@ArifBurhan不在這個構造中:'$ {!a}'。其中,它是一個間接引用[如果參數的第一個字符是感嘆號(!),則引入一個變量間接級別。](https://www.gnu.org/software/bash/manual/bashref html的#殼參數擴展) – 2016-03-02 04:13:28