当我输入ps -p $$时我得到了
PID TTY TIME COMMAND
2788 pts/19 0:00 ksh
#!/bin/ksh
echo "enter timezones"
read -a arr3 //how to append the values to this array dynamically
#as i want to give values like x1 x2 x3 x4 ..... "
set -A arr4
set -A tzarr1 nst3 ast4ad ast4 est5ed cst6cd mst7md cst6 mst7 pst8pd
set -A tztim1 12.0 12.5 13.5 13.5 14.5 15.5 15.5 16.5 16.5
p=0
for i in "${arr3[@]}"
do
for j in "${tzarr1[@]}"
do
if [ "$i" = "$j" ];then
arr4+=(${tztim1[p]})) //(shows error `('unexpected) how to append values
break
fi
p=$(($p+1))
done
done
我的代码所做的是它要求用户输入timezones
作为输入,我将输入设为ast4
cast6cd
...就像这样的“tzarr1
”和给定的输入将存储在arr3
数组中,现在for循环搜索tzarr1
中的值,其值为arr3
,当它获得匹配时,它会因为不需要而中断与剩余元素相匹配。现在,当我增加p变量时,它保存tzarr1
中匹配键的索引值,以便使用该索引值,我可以存储从tztim1
到arr4
的值。
答案 0 :(得分:1)
创建一个新数组,其中包含 arr4
的内容和您要添加的项目。
arr4=( "${arr4[@]}" "${tztim1[p]}" )
击> <击> 撞击>
你有一个额外的括号;删除它。
arr4+=(${tztim1[p]}))
^ ^^
| ||
+------------+|
matched |
unmatched