2016-10-28 64 views
0

数组我有一个这样的数组:迭代不同的管道参数

ARRAY=(one two three four five) 

而且我想这Ilterate阵列中的一个for循环。但是当我读取数组时,我想更改输出。像这样:

on 
tw 
thre 
fou 
fiv 

所以我的问题是,我该怎么做?我有这样的事情:

for ((i=0; i<${ARRAYLENGTH}; i++)); 
do 
echo "$({ARRAY[$i]} | rev | cut -c 2- | rev)" 
done 

但它不起作用。它将我的管道理论解释为回波输出。

我该怎么办?

+0

你的“数组”是如何定义的?你向我们展示的东西看起来不像bash语法。请[编辑]您的问题,向我们提供[mcve]。 –

+0

@TomFenech我试图用更多的信息填充它。 – JMAD2016

+0

@ JMAD2016你在ldapquery变量后缺少}。它应该阅读为类似于'cn:$($ {ldapquery [$ i]} | grep xxx)' –

回答

0

试试这个,我认为这应该工作。

pipea[0]="awk -F[=,] '{print \$2}' | sed '/^\s*$/d'" 
pipea[1]="awk -F[=,] '{print \$2}' | sed '/^\s*$/d' | cut -d ' ' -f2" 
pipea[2]="awk -F[=,] '{print \$2}' | sed '/^\s*$/d' | cut -d ' ' -f1" 

for ((i=0; i<${int}; i++)); 
do 
    echo " 
    dn: cn=$(${ldapquery[$i]} | eval ${pipea[0]}),ou=mydomain,dc=saturday,dc=int 
    objectClass: inetOrgPerson 
    objectClass: top 
    cn: $(${ldapquery[$i]} | eval ${pipea[0]}) 
    sn: $(${ldapquery[$i]} | eval ${pipea[1]}) 
    givenName= $(${ldapquery[$i]} | eval ${pipea[2]}) 
    telephoneNumber $(${ldapquery[$i]} | eval ${pipea[2]})" 
done 
+0

感谢您的答案,但我无法得到它的工作。我更新了我的问题,以便更容易理解。 – JMAD2016