有没有一种方法可以创建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