gpt4 book ai didi

linux - shell脚本: how to correctly realize the following idea,动态定义变量名称?

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:51 24 4
gpt4 key购买 nike

BASH 中类似以下内容

iDAV=0
for line in $(cat file); do

IFS_bk=$IFS; IFS=' '; arr=($line)
if [[ ${arr[0]} == *'DAV'* ]]; then
iDAV=$(( $iDAV+1 ))
val$iDAV=${arr[0]}
cal$iDAV=${arr[1]}
fi
IFS=$IFS_bk

done

运行时,它会提示以下内容

calc_OSZICAR: line 88: val1=12: command not found  
calc_OSZICAR: line 89: cal1=13: command not found

我实际上希望脚本定义 val1, val2, val3, ...cal1, cal2,
cal3, ...
在迭代期间。有人知道如何做到这一点吗?

非常感谢!

最佳答案

您可以使用declare指令创建动态变量:

declare "val$iDAV"="${arr[0]}"
declare "cal$iDAV"="${arr[1]}"

关于linux - shell脚本: how to correctly realize the following idea,动态定义变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26708196/

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