我正在zsh中工作,但是我敢肯定bash说明也将有所帮助。
我需要一个for循环,该循环遍历存储在数组lw
中的值,然后根据存储在数组中的名称值启动一个shell脚本。
到目前为止,这是我想出的:
$lw=('plugin1' 'plugin2' 'plugin3')
for i in $lw;
do . ~/Library/Rogall/plugins/$lw[$i]/lw.prg end;
done
运行此命令会给我一个错误,提示它找不到~/Library/Rogall/plugins//lw.prg
。似乎好像完全忽略了我的变量。有什么想法我搞砸了吗?
最佳答案
实际上比这简单得多:
lw=('plugin1' 'plugin2' 'plugin3')
for i in $lw; do
. ~/Library/Rogall/plugins/$i/lw.prg end
done
综上所述:
foo
,而不是$foo
(shell会尝试扩展$foo
并分配给它扩展到的对象;通常没有用)