#!/bin/bash [[ $EUID != 0 ]] || [[ $(uname -s) != Linux ]] && sudo='sudo' vagrant_box='fedora_40' vagrant_name='fedora' console() { echo ".vagrant/machines/$vagrant_name/qemu/id" id_file=".vagrant/machines/$vagrant_name/qemu/id" [[ $debug ]] && echo "checking .vagrant/machines/$vm_name/qemu/id" [[ ! -f $id_file ]] && echo "$vm_name does not exist" && exit vm_id=$(cat $id_file) [[ -z $vm_id ]] && echo "$id_file is blank" && exit socket="$HOME/.vagrant.d/tmp/vagrant-qemu/$vm_id/qemu_socket_serial" [[ ! -S $socket ]] && echo "$vm_name is not currently running" && exit [[ $debug ]] && echo -e "$sudo nc -U $socket" stty -icanon -echo && $sudo nc -U $socket stty sane } while [ $# -gt 0 ] do case $1 in up) $sudo vagrant up;; halt) $sudo vagrant halt && exit;; reload) $sudo vagrant reload;; remove) $sudo vagrant box remove $vagrant_box && exit;; destroy) $sudo vagrant destroy $vagrant_name --force && exit;; -d|--debug|debug) debug=1;; -k|--kill|kill) $sudo ps -ef | grep .vagrant/machines/$vagrant_name/qemu | grep -v grep | awk '{print $2}' | xargs $sudo kill -9 && exit ;; --ssh|ssh) $sudo vagrant ssh $vagrant_name && exit;; -console|console) console $vagrant_name && exit;; (*) break;; esac shift done shift $((OPTIND-1))