在循环中更改bash变量名称

奥利弗·安吉利尔

我想更改 bash 循环中使用的变量。我希望第一次迭代回显“/path/to/lol/hello_foo”和第二次“/path/to/lol/hello_bar”。

但相反,这是打印出来的:

/path/to/lol/fname_one
/path/to/lol/fname_two

这是代码:

#!/bin/bash                                                                                                                                                                                                                                                                              

path_data='/path/to/lol'
fname_one='hello_foo'
fname_two='hello_bar'

for count in one two
do
    echo $path_data/fname_$count
done
戈登戴维森

您可以使用间接变量扩展来做到这一点:

...
fname_var=fname_$count
echo "$path_data/${!fname_var}"    # Quoting variable references is a good idea
...

但是对于这样的事情,通常最好使用数组:

#!/bin/bash

path_data='/path/to/lol'
declare -a fname    # Make fname an array, rather than a plain variable
fname[1]='hello_foo'
fname[2]='hello_bar'

for count in 1 2
do
    echo "$path_data/${fname[count]}"
done

如果您需要文本(非数字)索引,您可以使用关联数组(仅适用于 bash v4):

#!/bin/bash

path_data='/path/to/lol'
declare -A fname    # Capital -A makes an associaltive array
fname[one]='hello_foo'
fname[two]='hello_bar'

for count in one two
do
    echo "$path_data/${fname[$count]}"
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在循环中更改Bash变量名称,然后展开更改的名称?

来自分类Dev

Bash for循环-更改变量名称

来自分类Dev

在R中的循环中更改公式内的变量名称

来自分类Dev

php变量名称必须在for循环中更改

来自分类Dev

Javascript在foreach循环中更改变量名称

来自分类Dev

循环中的Javascript变量名称

来自分类Dev

Bash变量名称扩展循环

来自分类Dev

PHP循环中的动态变量名称

来自分类Dev

如何在VBA循环中串联变量名称?

来自分类Dev

PHP循环中的动态变量名称

来自分类Dev

使用for循环seq分配动态bash变量名称

来自分类Dev

数组变量名称更改

来自分类Dev

变量在循环中更改

来自分类Dev

构建Bash变量名称

来自分类Dev

Bash变量在for循环中

来自分类Dev

在for循环中增加变量名

来自分类Dev

循环中增加变量名

来自分类Dev

在for循环中回显变量名

来自分类Dev

R - 循环中的变量名

来自分类Dev

批处理脚本-在For循环中创建动态变量名称或数组

来自分类Dev

在循环中将光栅带分配给变量名称-“无法分配”错误

来自分类Dev

来自CMD FOR循环中的字符串和数字的变量名称?

来自分类Dev

R_在循环中加载 R 数据文件并分配相同的变量名称

来自分类Dev

for循环中的ZSH列表变量名会导致错误,但可以在BASH中使用

来自分类Dev

是否可以在bash中循环遍历变量,并在变量名称后附加数字?

来自分类Dev

为clickTag的变量名称实现循环

来自分类Dev

在循环变量名称时提取系数

来自分类Dev

循环中的 C 变量更改

来自分类Dev

为for循环中的每个循环创建新的变量名