binary sh 如何把a数组和b数组一一对应起来

时间:2021-05-28 11:41:23
现在用binary sh 如何把a数组和b数组一一对应起来 比如把a[1] 目录下内容 cp 到b[1]目录下

5 个解决方案

#1


a[0] = "/abc/r"
a[1] = "/dre/e"

b[0] = "/ter/e"
b[1] = "/wer/u"

...

把a[0]目录下内容cp 到b[0]下
把a[1]目录下内容cp 到b[1]下
...

#2


#!/bin/bash

a[0]='a'
a[1]='b'
b[0]='c'
b[1]='d'

a_size=`expr ${#a[@]} - 1`
b_size=`expr ${#b[@]} - 1`

for i in $(seq 0 $a_size);do
    cp ${a[$i]} ${b[$i]}
done

#3


谢谢你的回复
我的unix上没有bash,而是binary sh
所以$(seq 0 $a_size)是会报错的。

#4


是Bourne shell

#5


用个偷懒的办法,你肯定知道了数组的元素个数对吧,那直接把$(seq 0 $a_size)换成对应次数值就行了。另外,你的机器上不一定只有Bourne shell吧,$(seq 0 $a_size)在其他shell下也许可行

#1


a[0] = "/abc/r"
a[1] = "/dre/e"

b[0] = "/ter/e"
b[1] = "/wer/u"

...

把a[0]目录下内容cp 到b[0]下
把a[1]目录下内容cp 到b[1]下
...

#2


#!/bin/bash

a[0]='a'
a[1]='b'
b[0]='c'
b[1]='d'

a_size=`expr ${#a[@]} - 1`
b_size=`expr ${#b[@]} - 1`

for i in $(seq 0 $a_size);do
    cp ${a[$i]} ${b[$i]}
done

#3


谢谢你的回复
我的unix上没有bash,而是binary sh
所以$(seq 0 $a_size)是会报错的。

#4


是Bourne shell

#5


用个偷懒的办法,你肯定知道了数组的元素个数对吧,那直接把$(seq 0 $a_size)换成对应次数值就行了。另外,你的机器上不一定只有Bourne shell吧,$(seq 0 $a_size)在其他shell下也许可行