微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何在bash中移动数组值

我们想要构建6个挂载点文件夹作为示例

/data/sdb
/data/sdc
/data/sdd
/data/sde
/data/sdf
/data/sdg

所以我们使用数组编写了这个简单的bash脚本

folder_mount_point_list="sdb sdc sdd sde sdf sdg"

folderArray=( $folder_mount_point_list )

counter=0
for i in disk1 disk2 disk3 disk4 disk4 disk5 disk6
do
folder_name=${folderArray[counter]}
mkdir /data/$folder_name
let counter=$counter+1
done

现在我们想要在没有计数器的情况下更改代码,并且让$$counter = counter 1

是否可以移动数组的每个循环以获得下一个数组值?

就像这样

${folderArray[++]}

解决方法:

一般评论.定义像这样的数组是没有意义的:

folder_mount_point_list="sdb sdc sdd sde sdf sdg"
folderArray=( $folder_mount_point_list )

你会这样做:

folderArray=(sdb sdc sdd sde sdf sdg)

现在问你的问题:

set -- sdb sdc sdd sde sdf sdg
for folder_name; do
    mkdir "/data/$folder_name"
done

要么

set -- sdb sdc sdd sde sdf sdg
while [ $# -gt 0 ]; do
    mkdir "/data/$1"
    shift
done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐