gpt4 book ai didi

bash - 遍历数组并执行存储在变量中的命令

转载 作者:行者123 更新时间:2023-11-29 09:41:29 24 4
gpt4 key购买 nike

我正在尝试编译一个大项目,这涉及到我去不同的目录并在那里编译东西。我有三个数组,它们都包含命令,第一个数组包含目录遍历,第二个数组包含编译命令,第三个数组包含错误消息。

我的数组是这样设置的

task[0]="cd vssl/make/; make clean;"
compile[0]="make all"
error[0]="echo \"We failed at vssl install\""

task[1]="cd ../../web/make/; make clean;"
compile[1]="make install"
error[1]="echo \"We failed at web install\""

现在我需要一个像这样工作的for循环

for i in {0..$size_of_array}
do
eval ${task[$i]}
if (eval ${compile[$i]}); then
echo "Done"
else
eval ${error[$i]}
break
fi
done

我尝试了很多东西,但不确定如何实现。 for i in "${task[@]}" 对我也不起作用,因为我有三个变量。有人对如何解决这个问题有任何见解吗?

感谢任何能提供帮助的人。 :)

最佳答案

task 数组的大小是 ${#task[@]}(漂亮的语法,嗯?)。所以你可以开始你的循环

for ((i=0; i<${#task[@]}; ++i))

有关详细信息,请参阅 for 命令和 bash(1) 中有关 ARITHMETIC EVALUATION 的部分。

关于bash - 遍历数组并执行存储在变量中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8009885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com