【发布时间】:2016-10-28 08:11:21
【问题描述】:
我有一个这样的数组:
ARRAY=(one two three four five)
我想在 for 循环中迭代这个数组。但是当我阅读数组时,我想更改输出。像这样:
on
tw
thre
fou
fiv
所以我的问题是,我该怎么做?我得到了类似的东西:
for (( i=0; i<${ARRAYLENGTH}; i++ ));
do
echo "$({ARRAY[$i]} | rev | cut -c 2- | rev)"
done
但它不起作用。它将我的管道参数解释为回显输出。
我能做什么?
【问题讨论】:
-
你的“数组”是如何定义的?您向我们展示的内容看起来不像 bash 语法。请将您的问题edit 提供给我们minimal reproducible example。
-
@TomFenech 我试图用更多信息填充它。
-
@JMAD2016 you are missing } 在
ldapquery变量之后。它应该读作类似于cn: $(${ldapquery[$i]} | grep xxx) -
@AbhijeetKasurde 谢谢,已编辑。
-
@JMAD2016 也缺少 $ 它应该是
${ldapquery[$i]}因为 ldapquery 是要扩展的命令。