gpt4 book ai didi

arrays - 在 bash 中搜索数组返回索引

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

只是 pesuocode 但这本质上是我想做的。

Array=("1" "Linux" "Test system"
"2" "Windows" "Workstation"
"3" "Windows" "Workstation")


echo "number " ${array[search "$1"]} "is a" ${array[search "$1" +1]} ${array[search "$1" +2])}

这可以用 bash 实现吗?我只能找到有关搜索和替换的信息。我没有看到任何会返回和索引的东西。

最佳答案

类似的东西应该可以工作:

search() {
local i=1;
for str in "${array[@]}"; do
if [ "$str" = "$1" ]; then
echo $i
return
else
((i++))
fi
done
echo "-1"
}

虽然遍历数组来查找索引当然是可能的,但这种使用关联数组的替代解决方案更实用:

array=([1,os]="Linux"   [1,type]="Test System"
[2,os]="Windows" [2,type]="Work Station"
[3,os]="Windows" [3,type]="Work Station")

echo "number $1 is a ${array[$1,os]} ${array[$1,type]}"

关于arrays - 在 bash 中搜索数组返回索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010578/

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