我的depends
档案中有这个档案$PATH
:
#!/bin/bash
k=0
for i in "$@"
do
DP[k]="nodejs-$i"
k=$((k+1))
done
echo $DP
我跑depends js kd
了回去:
nodejs-js
这让我感到惊讶,因为我认为我得到的结果将是:
nodejs-js nodejs-kd
因为循环是要向DP
表单数组添加新元素,所以我在运行脚本时向脚本提供的输入是nodejs-$i
哪里。我尝试使用此依赖脚本来代替:$i
depends
#!/bin/bash
DP=()
for i in "$@"
do
DP+=("nodejs-$i")
done
echo $DP
但是它返回的结果与js kd
输入完全相同(即,输出为nodejs-js
)。
您的脚本已将元素正确添加到阵列中,请检查以下如何读取DP阵列。
试试看:
#!/bin/bash
k=0
for i
do
DP[k]="nodejs-$i"
k=$((k+1))
done
printf "DP array size is %d\n" "${#DP[@]}"
printf "%s " "${DP[@]}"
printf "\n"
--edited--请注意,鼓励新应用程序使用printf而不是echo。
有趣=>默认情况下,for语句循环遍历脚本的参数。
考试:
$ ./depends js kd
DP array size is 2
nodejs-js nodejs-kd
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句