如何在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章