比如我有一个文件file.txt。
testlv01
testlv02
userlv01
costlv02
costlv03
如何用脚本一次性创建这个file.txt里面的所有lv。
a=$(cat /test.txt)
for b in $a
do
mklv -t raw -y $a Testvg 4G
done
用这个创建报错。0516-306 getlvodm: Unable to find volume group testlv02 in the Device
Configuration Database.
0516-822 mklv: Unable to create logical volume.
0516-306 getlvodm: Unable to find volume group testlv02 in the Device
Configuration Database.
0516-822 mklv: Unable to create logical volume.
0516-306 getlvodm: Unable to find volume group testlv02 in the Device
Configuration Database.
……这里省略多个类似报错
0516-822 mklv: Unable to create logical volume.
请问下要如何调整下脚本?
完全不用写脚本啊,多复制几行粘贴就行了
收起你是创建lv吧,lun是存储创建映射给aix的,lv可以用命令批量创建
收起根据报错信息,可以看出是因为脚本中的$a
变量没有被正确赋值导致的。可以尝试修改脚本如下:
#!/bin/sh
a=$(cat file.txt)
for i in $a
do
mkvg -y $i Testvg
mklv -t jfs2 -y $i $i"_lv" 4G Testvg
done
修改后的脚本中,首先将file.txt
中的内容赋值给变量$a
,然后使用for
循环遍历$a
中的每个lv名称,依次创建vg和lv。其中,$i"_lv"
表示将lv名称拼接上"_lv"后作为新的lv名称。