#!/bin/bash//表示脚本用那种shell来解释,此表示使用Bash shell来解释代码。
#!/bin/bash与#!/bin/sh
sh一般设成bash的软链,在一般的linux中如redhat,使用sh调用执行脚本,相当打开了bash的POSIX标准模式,也就是说/bin/sh相当于/bin/bash --posix,所以,sh跟bash的区别,实际上就是bash有没有开启posix模式的区别。(posix)的特定规范,有可能是上部代码执行错误,不会向下进行。
下面为修该版的虚拟机管理脚本,BUG在reset功能上(只能用于快照后的虚拟机,不能用于使用源虚拟机硬盘文件的虚拟机,会损坏源虚拟机)
#!/bin/bash
case $1 in
start)
virsh start $2 &>/dev/null
echo "虚拟机正开启..."
;;
view)
virt-viewer $2 & &>/dev/null
echo "请稍等"
;;
stop)
virsh destroy $2 &>/dev/null
echo "正在关闭"
;;
reset)
virsh destroy $2
virsh undefine $2
rm -fr /var/lib/libvirt/p_w_picpaths/$2.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/$3.qcow2 /var/lib/libvirt/p_w_picpaths/$2.qcow2
virsh start $2
virh-viewer $2 & &>/dev/null
;;
create)
virt-install \
--name $2 \
--ram 1000 \
--file /var/lib/libvirt/p_w_picpaths/$2.qcow2 \
--file-size 8 \
--cdrom /iso/rhel-server-7.1-x86_64-dvd.iso & &>/dev/null
;;
snapshot)
qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/$2.qcow2 /var/lib/libvirt/p_w_picpaths/$3.qcwo2
virt-install\
--name $3 \
--ram 1000 \
--disk /var/lib/libvirt/p_w_picpaths/$3.qcow2 \
--import & &>/dev/null
;;
delete)
virsh destroy $2
virsh undefine $2
rm -fr /var/lib/libvirt/p_w_picpaths/$2.qcow2
;;
*)
echo "ERROR:unknow action please input start|stop| after commond !!!"
esac
转载于:https://blog.51cto.com/onehxl/1865646