我遇到了一个似乎无法解决的非常简单的问题,而我从 bash 获得的唯一帮助是它是一个糟糕的替代品。有什么帮助吗?
#!/bin/bash
lang=Python
frameworks=('Python=(Django Flask Pyramid)' 'Ruby=(Rails Cuba)')
for i in "${frameworks[@]}";do eval $i;done
echo "Python ${#$lang[@]} ${$lang[@]}"
echo "Ruby ${#Ruby[@]} ${Ruby[@]}"
上面的第 5 行是引发错误的原因,但第 6 行工作正常,应该做同样的事情吗?
输出:
>>>line 5: Python ${#$lang[@]} ${$lang[@]}: bad substitution
>>>Ruby 2 Rails Cuba