这已被多次询问,但没有一种方法有效。我想使用从变量中获取的数组名称动态创建数组。所以现在让我们从一个数组开始:
#!/bin/bash
i="aaa"
eval ${i}=("1")
Run Code Online (Sandbox Code Playgroud)
结果是
./1.sh: line 3: syntax error near unexpected token `('
./1.sh: line 3: `eval ${i}=("1")'
Run Code Online (Sandbox Code Playgroud)
相同的结果:
$(eval ${i})=('1')
$(eval echo ${i})=('1')
$(eval "echo ${i}")=('1')
Run Code Online (Sandbox Code Playgroud)
我不想评估所有内容,只评估数组名称。如果可能的话,我想完全避免使用 eval