有没有一种方法可以创建bash变量并通过循环为它们分配值?
类似于以下内容:
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
编辑:感谢@Costas和@mdpc指出这将是列表的替代方案;这个问题只是理论上的。
1
注意:请注意,如果您将其作为命令执行,则设置将仅在当前进程中更改/修改/分配变量,而不会在父进程中更改/分配变量。您可以使用“。”作为文件来源。命令(EX:。new_vars)使其在当前进程中发生。
—
mdpc
好的,但是上面的命令实际上无法运行;
—
toxefa 2015年
var"$c"
打破它。@Costas的答案演示了如何将多个值分配给单个列表变量-我只是在理论上问变量是否实际上可以通过循环生成。
嗯...为什么这么复杂,只使用一个新变量就可以毫不夸张地创建它。
—
mdpc