diff --git a/qemu-adm b/qemu-adm index e21921d..868be65 100755 --- a/qemu-adm +++ b/qemu-adm @@ -70,15 +70,21 @@ nouvMV() esac ;; "disque") - echo "${2}" - if [[ ! -z ${2} ]]; then + echo "${2}" # Debogage + if [[ ! -z "${2}" && "${2}" =~ ^(raw|qcow2)$ ]]; then if [[ ! -f ${bin_qemu_img} ]]; then die "Le paquet qemu-utils n'est pas installé." 6 fi echo "Création du disque..." # Debogage qemu-img create -f ${2} ${1} ${3} + else + die "Le format du disque doit être raw ou qcow2." 5 + fi + if [[ "${4}" =~ ^(virtio|ide)$ ]]; then + echo "-drive file=${1},if=${4} \\" >> ${chemin_mv} + else + die "Le type du disque doit être virtio ou ide." 5 fi - echo "-drive file=${1},if=virtio \\" >> ${chemin_mv} ;; "iso") echo "-cdrom ${1} \\" >> ${chemin_mv} @@ -237,13 +243,13 @@ creeMV() echo "disque parametre=${parametre}" # Debogage shift - # |(|):(raw|qcow2):) + # |(|):(raw|qcow2)::(virtio|ide)) disque_nom=$( echo ${1} | awk -F: '{print $1}' ) echo "disque_nom=${disque_nom}" # Debogage if [[ -z "${disque_nom}" ]]; then - die "Le disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2):)." 5 + die "Le disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2)::(virtio|ide))." 5 fi if [[ "$(dirname ${1})" == "." ]];then disque_nom="${base_chemin_mv}/${disque_nom}" @@ -252,16 +258,22 @@ creeMV() disque_format=$( echo ${1} | awk -F: '{print $2}' ) echo "disque_format=${disque_format}" # Debogage if [[ -z "${disque_format}" && "$(dirname ${1})" == "." ]]; then - die "Le format du disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2):)." 5 + die "Le format du disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2)::(virtio|ide))." 5 fi disque_capacite=$( echo ${1} | awk -F: '{print $3}' ) echo "disque_capacite=${disque_capacite}" # Debogage if [[ -z "${disque_capacite}" && "$(dirname ${1})" == "." ]]; then - die "La capacité du disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2):)." 5 + die "La capacité du disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2)::(virtio|ide))." 5 + fi + + disque_type=$( echo ${1} | awk -F: '{print $4}' ) + echo "disque_type=${disque_type}" # Debogage + if [[ -z "${disque_type}" && "$(dirname ${1})" == "." ]]; then + die "Le type du disque n'est pas renseigné.\nSyntaxe attendue : |(|):(raw|qcow2)::(virtio|ide))." 5 fi - commandes_a_executer+=( "nouvMV disque ${disque_nom} ${disque_format} ${disque_capacite}") + commandes_a_executer+=( "nouvMV disque ${disque_nom} ${disque_format} ${disque_capacite} ${disque_type}") ;; "-i") # Iso echo "iso" # Debogage