作者:阿尼陀佛1314 | 来源:互联网 | 2023-06-03 11:19
我们想要构建6个挂载点文件夹作为示例/data/sdb/data/sdc/data/sdd/data/sde/data/sdf/data/sdg所以我们使用数组编写了这个简单的bash脚本folder
我们想要构建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