arrays - 从多个变量创建数组

标签 arrays bash

使用bash我试图创建一个带有变量列表的echo命令。变量的数量可能因我想要执行的操作而异,但当我在 $ctr1 中计数时,我知道我有多少个变量。其外观示例如下:

echo "$var1,$var2,$var3"

等等。最后一个变量与计数器的数字相同。

有人能给我一个关于我应该做什么的想法吗,一个例子就很好了。我知道可以使用 if 语句来完成,其中一行表示计数器中可能的数字,但这并不实用,因为一行中可能有 1 到 50 多个变量。我不知道这是否应该是一个数组或类似的东西,也不知道如何将它们放在一起。对此的任何帮助都会有所帮助。

最佳答案

是的,这应该是 array相反。

而不是做例如

var1=foo
var2=bar
var3=quux
ctr1=3
echo "${var1},${var2},${var3}"

你可以做

var=("foo" "bar" "quux")
( IFS=,; echo "${var[*]}" )

示例:

$ cat test.sh
#!/bin/bash

# the following is equivalent to doing
#  ( IFS=,; echo "$*" )
# but that wouldn't be a good example, would it?

for argument in "$@"; do
    var+=( "${argument}" )
done
( IFS=,; echo "${var[*]}" )

.

$ ./test.sh foo
foo

$ ./test.sh foo bar
foo,bar

$ ./test.sh foo bar "qu ux"
foo,bar,qu ux

关于arrays - 从多个变量创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422630/

相关文章:

javascript - 添加到数组兄弟

linux - 使用 cat 命令作为编辑器时出现权限错误

arrays - 将 JSON 数组读入 Bash 数组

python - 在 python 中捕获致命的 bash/git

linux - 将子文件夹重命名为父文件夹,删除 'extra' 文件夹

python - 来自元组的稀疏数组

java - Java中的数组左旋转

javascript - 如何通过对象的唯一属性值从数组中获取对象?

Javascript 在对象中添加项目

linux - Bash 脚本来检测我的 USB 何时插入,然后将其与目录同步