我一直在尋找其他類似的問題,但沒有找到正確的答案。謝謝你的幫助。$1 is array.
#!/bin/bash
for i in ${"$1"[@]}
do
echo "$i"
done
uj5u.com熱心網友回復:
如果我沒有誤解您寫得不好的問題,那么您正在尋找bash 間接,它從bash, version 2.
下面是一個最小的例子
#! /bin/bash
foo=( 1 2 3 4 )
bar=( 5 6 7 8 )
if [[ ( "$1" -ne foo && "$1" -ne bar ) ]];
then
echo "Usage: $0 <foo|bar>"
exit 1
fi
ambito="$1"[@] # here what you are looking for
for i in ${!ambito}; # here the indirection
do
echo -n "$i "
done
echo ""
您可以將此indirection.sh腳本稱為:
$ ./indirection.sh foo
1 2 3 4
或者
$ ./indirection.sh bar
5 6 7 8
uj5u.com熱心網友回復:
$1是第一個命令列引數,不是全部。可能您正在尋找的是$@.
并創建一個包含它們的陣列,例如:
ambito=($@)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417458.html
標籤:
