我有疑問。當我聲明一個值並賦值給某個變量時,我不知道如何將相同的值重新賦值給另一個變量。請參閱下面的代碼片段。shell腳本 - 將一個變量分配給另一個變量
#/bin/sh
#declare ARG1 to a
a=ARG1
#declaring $a to ARG2
ARG2=$`$a`
echo "ARG 2 = $ARG2"
應該顯示我的輸出
ARG 2 = ARG1
幫我出這一點。
這是我的實際腳本。
#!/bin/sh
a=AA
b=BB
c=CC
d=DD
e=EE
f=FF
alpha_array=(a b c d e f)
process_array=(proc1 proc2 proc3 proc4)
array_1=("")
array_2=("")
display_array() {
echo "array1 = ${array_1[@]}"
echo "array2 = ${array_2[@]}"
}
checkarg() {
if [[ " ${alpha_array[*]} " == *" $token "* ]]; then
echo "alphabet contains $token "
array_1=("${array_1[@]}" "$token")
$token=${$token}
echo "TOKEN = $token"
elif [[ " ${process_array[*]} " == *" $token "* ]]; then
echo "process contains $token "
array_2=("${array_2[@]}" "$token")
else
echo "no matches found"
display_array
exit 1
fi
}
for token in [email protected]
do
echo $token
checkarg
done
display_array
在這裏,下面兩行
$token=${$token}
echo "TOKEN = $token"
應該顯示我的輸出
TOKEN = AA
TOKEN = BB
當我用下面的參數運行我的腳本。
./build.sh a b proc1
請在這兩行上幫助我。
我編輯了標題,因爲這個問題似乎與聲明變量沒有任何關係。 (變量_can_在shell中聲明,但這對於顯式設置類型或範圍元數據是必要的,而不是分配值)。 – 2014-12-18 23:02:10