#!/bin/bash if [[ -z $1 ]]; then echo 'all or vm-name' fi typeset -a basename=( 'sudcm_osse18' 'sufs_osse18' 'suac_osse18' 'sudcs_osse18' 'susrv_osse18' 'fidcm_osse18' 'fidcr1_osse18' 'fidcr2_osse18' 'fisrv_osse18' 'fiac_osse18' 'samdc_osse18' 'samac_osse18' 'samfs_osse18' ) typeset -a machines if [[ $1 = 'all' ]]; then machines=$(vboxmanage list runningvms | awk '{print $1}' | sed 's/"//g' ) else machines=("$@") fi for i in ${machines[@]}; do for j in ${basename[@]}; do if [[ $i = $j ]]; then vboxmanage controlvm $i poweroff fi done done