#!/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

       

 

wKioL1gQEu7DqSsCAAJDVTfxuwE100.png

wKiom1gQEu7A__0WAAFfca1dnV4344.png

wKioL1gQEu-j6q_bAAIa_VlJxSk907.png

wKiom1gQEvDwHQpmAADiguQCaAg436.png

wKiom1gQEvLB83JXAANLV7eqXuM518.png

wKioL1gQEvOQTUEGAAD8LgKRT94358.png