From fb38342e800eab34c3ff372347729ffb814a1877 Mon Sep 17 00:00:00 2001 From: braniz Date: Tue, 3 Oct 2023 19:23:54 +0200 Subject: [PATCH] . --- Hilfs_Text | 20 ++++++ neu_grp_vdi.sh | 166 --------------------------------------------- neu_vbox_create.sh | 106 +++++++++++++++++------------ user_vdi_create.sh | 145 --------------------------------------- vbox_create.sh | 2 +- vdi_create.sh | 12 +++- 6 files changed, 94 insertions(+), 357 deletions(-) create mode 100644 Hilfs_Text delete mode 100644 neu_grp_vdi.sh mode change 100644 => 100755 neu_vbox_create.sh delete mode 100755 user_vdi_create.sh diff --git a/Hilfs_Text b/Hilfs_Text new file mode 100644 index 0000000..de6ad3f --- /dev/null +++ b/Hilfs_Text @@ -0,0 +1,20 @@ +"Ubuntu_64 ubuntu-*-live-server-amd64.iso" +"Ubuntu_64 ubuntu-*-desktop-amd64.iso" +"Debian_64 debian-*.iso" +"RedHat_64 rhel-*.iso" +"Fedora_64 Fedora-*.iso" +"Linux_64 kali-linux-*.iso" +"Linux_64 linuxmint-*.iso" +"OpenSUSE_64 openSUSE-*.iso" +"ArchLinux_64 manjaro-xfce-*.iso" + + + # VBox-Befehle ausführen + sudo -u $user vboxmanage createvm --name $vm_name --register + sudo -u $user vboxmanage modifyvm $vm_name --memory $ram_size --cpus $num_cpus + sudo -u $user vboxmanage createhd --filename "$basefolder/$user/$vm_name/$vm_name.vdi" --size $hdd_size + sudo -u $user vboxmanage storagectl $vm_name --name "SATA Controller" --add sata --controller IntelAhci + sudo -u $user vboxmanage storageattach $vm_name --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "$basefolder/$user/$vm_name/$vm_name.vdi" + sudo -u $user vboxmanage modifyvm $vm_name --boot1 disk --boot2 dvd --boot3 none --boot4 none + sudo -u $user vboxmanage modifyvm $vm_name --natpf1 "guestssh,tcp,,222$i,,22" + \ No newline at end of file diff --git a/neu_grp_vdi.sh b/neu_grp_vdi.sh deleted file mode 100644 index 38bdbd3..0000000 --- a/neu_grp_vdi.sh +++ /dev/null @@ -1,166 +0,0 @@ -#!/bin/bash - -# Autor: Branislav Zeljak v0.3 -# Beschreibung: Dieses Skript erstellt VirtualBox-VMs und klonet Festplatten parallel. -# Verwendung: Führen Sie das Skript aus und befolgen Sie die Eingabeaufforderungen. -clear - -# %--------------------start/Funktionen--------------------% - -# Funktion zum Überprüfen der Benutzerexistenz -check_user_existence() { - local VAR_USER="$1" - if ! grep -q "^$VAR_USER:" /etc/passwd; then - echo "Der Benutzer $VAR_USER existiert nicht auf diesem System." - exit 1 - fi -} - -# %--------------------end/Funktionen--------------------% - -echo "User / Passwort: $USER/Start1234" -echo "Welches VDI-OS soll installiert werden" -echo - -# Definieren Sie die verfügbaren Betriebssysteme hier -declare -A VAR_OS_OPTIONS=( - ["Ubuntu 2204 GUI BASE"]="Ubuntu_64 ubu2204-GUI-BASE.vdi" - ["Ubuntu 2204 SRV BASE"]="Ubuntu_64 ubu2204-SRV-BASE.vdi" - ["Ubuntu 2204 GUI"]="Ubuntu_64 ubu2204-GUI.vdi" - ["Ubuntu 2204 SRV"]="Ubuntu_64 ubu2204-SRV.vdi" - ["Quit"]="Quit" -) - -# Auswählen und Konfigurieren des Betriebssystems -COLUMNS=10 -PS3="Ihre Auswahl: " -select VAR_OPT in "${!VAR_OS_OPTIONS[@]}" -do - case $VAR_OPT in - "Quit") - exit - ;; - *) - IFS=" " read -ra VAR_OS_INFO <<< "${VAR_OS_OPTIONS[$VAR_OPT]}" - VAR_OS="${VAR_OS_INFO[0]}" - VAR_VDI="${VAR_OS_INFO[1]}" - ;; - esac - - # Benutzerauswahl - echo "Für wen soll es sein?" - echo - COLUMNS=10 - PS3="Ihre Auswahl: " - VAR_OPTIONS=("Aktueller Benutzer" "Anderer Benutzer" "Mitglieder einer Gruppe" "Beenden") - select VAR_USER_OPT in "${VAR_OPTIONS[@]}" - do - case $VAR_USER_OPT in - "Aktueller Benutzer") - VAR_USER="$USER" - ;; - "Anderer Benutzer") - read -p "Bitte geben Sie einen Benutzernamen ein: " VAR_USER - check_user_existence "$VAR_USER" - ;; - "Mitglieder einer Gruppe") - read -p "Bitte geben Sie den Gruppennamen ein: " VAR_GROUP - if getent group "$VAR_GROUP" &>/dev/null; then - echo "Mitglieder der Gruppe $VAR_GROUP:" - getent group "$VAR_GROUP" | cut -d: -f4 | tr ',' '\n' - VAR_MEMBERS=($(getent group "$VAR_GROUP" | cut -d: -f4 | tr ',' '\n')) - else - echo "Die Gruppe $VAR_GROUP existiert nicht auf diesem System." - exit 1 - fi - ;; - "Beenden") - exit - ;; - esac - break - done - - COLUMNS=8 - PS3='Please enter your choice: ' - VAR_OPTIONS=("CPUs [2]" "Memory [2048]" "Continue") - select VAR_CONFIG_OPT in "${VAR_OPTIONS[@]}" - do - case $VAR_CONFIG_OPT in - "CPUs [2]") - read -p "CPUs [2]: " VAR_CPU - VAR_CPU=${VAR_CPU:-2} - ;; - "Memory [2048]") - read -p "Memory [2048]: " VAR_MEM - VAR_MEM=${VAR_MEM:-2048} - ;; - "Continue") - break - ;; - esac - done - - # Variablen - VAR_PATH_TO_VDI="/srv/data/VDI" - VAR_VIDEO_RAM=64 - VAR_RDP_PORT=339 - VAR_NIC1="Nat" - VAR_NIC2="bridged" - VAR_NET_INTERFACE="enp4s0f1" - - # Schleife zur Erzeugung der VMs - for VAR_MEMBER in "${VAR_MEMBERS[@]}" - do - # VM erstellen - sudo -u "$VAR_MEMBER" VBoxManage createvm \ - --name "${VAR_OS}-${VAR_MEMBER}" \ - --ostype "$VAR_OS" \ - --register \ - --basefolder "/srv/vbox/$VAR_MEMBER" - - # VM-Konfigurieren - sudo -u "$VAR_MEMBER" VBoxManage modifyvm "${VAR_OS}-${VAR_MEMBER}" \ - --ioapic on \ - --memory "$VAR_MEM" \ - --cpus "$VAR_CPU" \ - --vram "$VAR_VIDEO_RAM" \ - --nic1 "$VAR_NIC1" \ - --graphicscontroller vmsvga \ - --nic2 "$VAR_NIC2" \ - --bridgeadapter2 "$VAR_NET_INTERFACE" \ - --vrde on \ - --vrdemulticon on \ - --vrdeport "$VAR_RDP_PORT" - - # Festplattencontroller hinzufügen - sudo -u "$VAR_MEMBER" VBoxManage storagectl "${VAR_OS}-${VAR_MEMBER}" \ - --name "SATA Controller" \ - --add sata \ - --controller IntelAhci - - # Klonen der Festplatte (in Hintergrundprozessen) - { - sudo -u "$VAR_MEMBER" VBoxManage clonehd "${VAR_PATH_TO_VDI}/${VAR_VDI}" "/srv/vbox/$VAR_MEMBER/${VAR_OS}-${VAR_MEMBER}/${VAR_OS}-${VAR_MEMBER}-disk0.vdi" - } & - done - - # Warten auf das Ende der Hintergrundprozesse - wait - - # Anhängen der geklonten Festplatte - for VAR_MEMBER in "${VAR_MEMBERS[@]}" - do - sudo -u "$VAR_MEMBER" VBoxManage storageattach "${VAR_OS}-${VAR_MEMBER}" \ - --storagectl "SATA Controller" \ - --port 0 \ - --device 0 \ - --type hdd \ - --medium "/srv/vbox/$VAR_MEMBER/${VAR_OS}-${VAR_MEMBER}/${VAR_OS}-${VAR_MEMBER}-disk0.vdi" - done - - # Schleife beenden - break -done - -echo "VMs wurden für alle Mitglieder der Gruppe erstellt und Festplatten geklont." diff --git a/neu_vbox_create.sh b/neu_vbox_create.sh old mode 100644 new mode 100755 index d5ba197..2aa72e1 --- a/neu_vbox_create.sh +++ b/neu_vbox_create.sh @@ -1,25 +1,40 @@ #!/bin/bash -# Autor: Branislav Zeljak v0.6 +# Autor: Branislav Zeljak v0.7 # Beschreibung: Dieses Skript erstellt VirtualBox-VMs und klonet Festplatten parallel. # Verwendung: Führen Sie das Skript aus und befolgen Sie die Eingabeaufforderungen. clear +VAR_ISO_PATH="/srv/data/ISO/" + # %--------------------start/Funktionen--------------------% # Funktion zum Überprüfen der Benutzerexistenz check_user_existence() { - local VAR_USER="$1" - if ! grep -q "^$VAR_USER:" /etc/passwd; then - echo "Der Benutzer $VAR_USER existiert nicht auf diesem System." + local user="$1" + if ! id "$user" &>/dev/null; then + echo "Der Benutzer $user existiert nicht auf diesem System." exit 1 fi } +get_group_users() { + local groupname="$1" + local members + + members=$(getent group "$groupname" | cut -d: -f4) + + if [[ -n "$members" ]]; then + echo "$members" | tr ',' '\n' + else + echo "Die Gruppe $groupname existiert nicht oder hat keine Mitglieder." + fi +} + # Funktion, um einen zufälligen Host-Namen aus der Liste auszuwählen get_random_name() { # Liste der Namen - local names=("frodo" "samweis" "gandalf" "aragorn" "legolas" "gimli" "boromir" "meriadoc" "peregrin" "arwen" "galadriel" "celeborn" "elrond" "glorfindel" "faramir" "eowyn" "theoden" "treebeard" "gollum" "sauron" "saruman" "bilbo" "denethor" "radagast" "thranduil" "bard" "fíli" "kíli" "dori" "frodo") + local names=("frodo" "samweis" "gandalf" "aragorn" "legolas" "gimli" "boromir" "meriadoc" "peregrin" "arwen" "galadriel" "celeborn" "elrond" "glorfindel" "faramir" "eowyn" "theoden" "treebeard" "gollum" "sauron" "saruman" "bilbo" "denethor" "radagast" "thranduil" "bard" "frodo") # Zufälligen Index auswählen local random_index=$((RANDOM % ${#names[@]})) @@ -41,19 +56,14 @@ do ;; "Anderer Benutzer") read -p "Bitte geben Sie einen Benutzernamen ein: " VAR_USER - if grep -q "^$VAR_USER:" /etc/passwd; then - echo "Der Benutzer $VAR_USER existiert auf diesem System." - else - echo "Der Benutzer $VAR_USER existiert nicht auf diesem System." - exit 1 - fi + check_user_existence "$VAR_USER" ;; "Mitglieder einer Gruppe") read -p "Bitte geben Sie den Gruppennamen ein: " VAR_GROUP if getent group "$VAR_GROUP" &>/dev/null; then echo "Mitglieder der Gruppe $VAR_GROUP:" - getent group "$VAR_GROUP" | cut -d: -f4 | tr ',' '\n' - members=($(getent group "$VAR_GROUP" | cut -d: -f4 | tr ',' '\n')) + get_group_users "$VAR_GROUP" + GROUP_MEMBERS=($(get_group_users "$VAR_GROUP")) else echo "Die Gruppe $VAR_GROUP existiert nicht auf diesem System." exit 1 @@ -67,9 +77,9 @@ do done # Variable für den User -VAR_VB="/srv/vbox" clear + echo "Welches Betriebssystem soll installiert werden?" echo COLUMNS=10 @@ -105,7 +115,7 @@ do # Benutzereingabe für VM-Konfiguration read -p "Geben Sie die Anzahl der VMs an (Standard: 1): " VAR_QUAN - read -p "Praefix Host Name (Vorgabe: $default_name): " VAR_NAME + read -p "Präfix Host Name (Vorgabe: $default_name): " VAR_NAME_PREFIX read -p "CPUs (Standard: 2 CPU): " VAR_CPU read -p "Memory (Standard: 2048 MB-RAM) : " VAR_MEM read -p "Bitte die Anzahl der HDD (Standard: 1-HDD) : " VAR_HDD @@ -116,70 +126,78 @@ do # Standardwerte festlegen, wenn keine Eingabe erfolgt VAR_CPU=${VAR_CPU:-2} VAR_MEM=${VAR_MEM:-2048} - VAR_VID=64 - VAR_RDP=339 - VAR_NIC=bridged - VAR_NET=$(ip addr show | grep "2: " | awk '{print $2}' | sed 's/://') - VAR_NAME=${VAR_NAME:-$default_name} + VAR_VIDEO_RAM=64 + VAR_NIC1="nat" + VAR_NIC2="bridged" + VAR_NET_INTERFACE="eth0" + VAR_RDP_PORT=339 + # Schleife zur Erzeugung der VMs für Gruppenmitglieder - for member in "${members[@]}" + for VAR_USER_IN_GROUP in "${GROUP_MEMBERS[@]}" do for N in $(seq 1 $VAR_QUAN) do ORDER_NUM=$(printf "%02d" $N) # Zweistellige Ordnungszahl generieren - sudo -u $member VBoxManage createvm \ - --name ${VAR_NAME}-${ORDER_NUM} \ - --ostype ${VAR_OS} \ - --register + VM_NAME="${VAR_NAME_PREFIX}-${VAR_USER_IN_GROUP}-${ORDER_NUM}" + VM_DIR="/srv/vbox/$VAR_USER_IN_GROUP/$VM_NAME" - sudo -u $member VBoxManage modifyvm ${VAR_NAME}-${ORDER_NUM} \ + sudo -u "$VAR_USER_IN_GROUP" VBoxManage createvm \ + --name "$VM_NAME" \ + --ostype "$VAR_OS" \ + --register \ + --basefolder "$VM_DIR" + + # VM-Konfigurieren + sudo -u "$VAR_USER_IN_GROUP" VBoxManage modifyvm "$VM_NAME" \ --ioapic on \ - --cpus ${VAR_CPU} \ - --memory ${VAR_MEM} \ - --vram ${VAR_VID} \ + --memory "$VAR_MEM" \ + --cpus "$VAR_CPU" \ + --vram "$VAR_VIDEO_RAM" \ + --nic1 "$VAR_NIC1" \ --graphicscontroller vmsvga \ - --nic1 Nat \ - --nic2 ${VAR_NIC} \ - --bridgeadapter2 ${VAR_NET} \ + --nic2 "$VAR_NIC2" \ + --bridgeadapter2 "$VAR_NET_INTERFACE" \ --vrde on \ --vrdemulticon on \ - --vrdeport ${VAR_RDP}${ORDER_NUM} + --vrdeport "$VAR_RDP_PORT" - sudo -u $member VBoxManage storagectl ${VAR_NAME}-${ORDER_NUM} \ + sudo -u "$VAR_USER_IN_GROUP" VBoxManage storagectl "$VM_NAME" \ --name "SATA Controller" \ --add sata \ --controller IntelAhci - sudo -u $member VBoxManage storagectl ${VAR_NAME}-${ORDER_NUM} \ + sudo -u "$VAR_USER_IN_GROUP" VBoxManage storagectl "$VM_NAME" \ --name "IDE Controller" \ --add ide \ --controller PIIX4 - sudo -u $member VBoxManage storageattach ${VAR_NAME}-${ORDER_NUM} \ + sudo -u "$VAR_USER_IN_GROUP" VBoxManage storageattach "$VM_NAME" \ --storagectl "IDE Controller" \ --port 1 \ --device 0 \ --type dvddrive \ - --medium ${VAR_PATH}${VAR_ISO} + --medium "${VAR_ISO_PATH}${VAR_ISO}" # HDD erzeugen und zuweisen - for j in $(seq 1 ${VAR_HDD}) + for j in $(seq 1 $VAR_HDD) do HDD_NUM=$(printf "%02d" $j) - sudo -u $member VBoxManage createhd \ - --filename ${VAR_VB}/${VAR_NAME}-${ORDER_NUM}/${VAR_NAME}-${ORDER_NUM}_DISK${HDD_NUM}.vdi \ + HDD_NAME="${VM_NAME}_DISK${HDD_NUM}.vdi" + sudo -u "$VAR_USER_IN_GROUP" VBoxManage createhd \ + --filename "$VM_DIR/$HDD_NAME" \ --size 102400 \ --format VDI - sudo -u $member VBoxManage storageattach ${VAR_NAME}-${ORDER_NUM} \ + + sudo -u "$VAR_USER_IN_GROUP" VBoxManage storageattach "$VM_NAME" \ --storagectl "SATA Controller" \ - --port $j \ + --port "$j" \ --device 0 \ --type hdd \ - --medium ${VAR_VB}/${VAR_NAME}-${ORDER_NUM}/${VAR_NAME}-${ORDER_NUM}_DISK${HDD_NUM}.vdi + --medium "$VM_DIR/$HDD_NAME" done done done - echo "VMs wurden erstellt und Festplatten geklont." + echo "VMs wurden erstellt." break done diff --git a/user_vdi_create.sh b/user_vdi_create.sh deleted file mode 100755 index 0acfddd..0000000 --- a/user_vdi_create.sh +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/bash - -# Autor: Branislav Zeljak v0.1 -# Beschreibung: Dieses Skript erstellt VirtualBox-VMs und klonet Festplatten parallel. -# Verwendung: Führen Sie das Skript aus und befolgen Sie die Eingabeaufforderungen. -clear - -VAR_USER=$(whoami) - -# %--------------------start/Funktionen--------------------% - -# Funktion zum Überprüfen der Benutzerexistenz -check_user_existence() { - local VAR_USER="$1" - if ! grep -q "^$VAR_USER:" /etc/passwd; then - echo "Der Benutzer $VAR_USER existiert nicht auf diesem System." - exit 1 - fi -} - -# %--------------------end/Funktionen--------------------% - -echo "User / Passwort: $VAR_USER/Start1234" -echo "Welches VDI-OS soll installiert werden" -echo - -echo "Für wenn soll es sein?" -echo -COLUMNS=10 -PS3="Ihre Auswahl: " -options=("Aktueller Benutzer" "Anderer Benutzer" "Beenden") -select opt in "${options[@]}" -do - case $opt in - "Aktueller Benutzer") - VAR_USER=$(whoami) - ;; - "Anderer Benutzer") - read -p "Bitte geben Sie einen Benutzernamen ein: " VAR_USER - if grep -q "^$VAR_USER:" /etc/passwd; then - echo "Der Benutzer $VAR_USER existiert auf diesem System." - else - echo "Der Benutzer $VAR_USER existiert nicht auf diesem System." - exit 1 - fi - ;; - "Beenden") - exit - ;; - esac - break -done - -COLUMNS=8 -PS3='Please enter your choice: ' -OPTIONS=("Ubuntu 2204 SRV" "Ubuntu 2204 GUI" "Quit") -select opt in "${OPTIONS[@]}" -do - case $opt in - "Ubuntu 2204 SRV") - VAR_OS="Ubuntu_64" - VAR_VDI="ubu2204-SRV.vdi" - ;; - "Ubuntu 2204 GUI") - VAR_OS="Ubuntu_64" - VAR_VDI="ubu2204-GUI.vdi" - ;; - *) - echo "Invalid option $REPLY" - ;; - esac - - # Benutzereingaben - read -p "Wie viele VMs werden benötigt? [1]: " VAR_QUANTITY - VAR_QUANTITY=${VAR_QUANTITY:-1} - read -p "Präfix Host Name: " VAR_NAME_PREFIX - read -p "CPUs [2]: " VAR_CPU - VAR_CPU=${VAR_CPU:-2} - read -p "Memory [2048]: " VAR_MEM - VAR_MEM=${VAR_MEM:-2048} - - # Variablen - VAR_PATH_TO_VDI="/srv/data/VDI" - VAR_VBOX_DIR="/srv/vbox/$VAR_USER" - VAR_VIDEO_RAM=64 - VAR_RDP_PORT=339 - VAR_NIC1="Nat" - VAR_NIC2="bridged" - VAR_NET_INTERFACE="enp4s0f1" - - # Schleife zur Erzeugung der VMs - for VAR_N in $(seq 1 $VAR_QUANTITY) - do - # VM erstellen - sudo -u $VAR_USER VBoxManage createvm \ - --name "${VAR_NAME_PREFIX}-${VAR_N}" \ - --ostype "$VAR_OS" \ - --register \ - --basefolder "$VAR_VBOX_DIR" - - # VM-Konfigurieren - sudo -u $VAR_USER VBoxManage modifyvm "${VAR_NAME_PREFIX}-${VAR_N}" \ - --ioapic on \ - --memory "$VAR_MEM" \ - --cpus="$VAR_CPU" \ - --vram "$VAR_VIDEO_RAM" \ - --nic1 "$VAR_NIC1" \ - --graphicscontroller vmsvga \ - --nic2 "$VAR_NIC2" \ - --bridgeadapter2 "$VAR_NET_INTERFACE" \ - --vrde on \ - --vrdemulticon on \ - --vrdeport "$VAR_RDP_PORT${VAR_N}" - - # Festplattencontroller hinzufügen - sudo -u $VAR_USER VBoxManage storagectl "${VAR_NAME_PREFIX}-${VAR_N}" \ - --name "SATA Controller" \ - --add sata \ - --controller IntelAhci - - # Klonen der Festplatte (in Hintergrundprozessen) - { - sudo -u $VAR_USER VBoxManage clonehd "${VAR_PATH_TO_VDI}/${VAR_VDI}" "${VAR_VBOX_DIR}/${VAR_NAME_PREFIX}-${VAR_N}/${VAR_NAME_PREFIX}-${VAR_N}-disk0.vdi" - } & - done - - # Warten auf das Ende der Hintergrundprozesse - wait - - # Anhängen der geklonten Festplatte - for VAR_N in $(seq 1 $VAR_QUANTITY) - do - sudo -u $VAR_USER VBoxManage storageattach "${VAR_NAME_PREFIX}-${VAR_N}" \ - --storagectl "SATA Controller" \ - --port 0 \ - --device 0 \ - --type hdd \ - --medium "${VAR_VBOX_DIR}/${VAR_NAME_PREFIX}-${VAR_N}/${VAR_NAME_PREFIX}-${VAR_N}-disk0.vdi" - done - - # Schleife beenden - break -done - -echo "VMs wurden erstellt und Festplatten geklont." diff --git a/vbox_create.sh b/vbox_create.sh index 062c81a..14390df 100755 --- a/vbox_create.sh +++ b/vbox_create.sh @@ -123,7 +123,7 @@ VAR_VID=64 VAR_RDP=339 VAR_NIC=bridged #VAR_NET=enp4s0f1 -VAR_NET=$(ip addr show | grep "2: " | awk '{print $2}' | sed 's/://') +VAR_NET=$(ip addr show | grep "^2: " | awk '{print $2}' | sed 's/://') VAR_NAME=${VAR_NAME:-$default_name} # Schliefe zur erzeugung der VMs diff --git a/vdi_create.sh b/vdi_create.sh index 268c252..b10f9ef 100755 --- a/vdi_create.sh +++ b/vdi_create.sh @@ -32,13 +32,23 @@ get_group_users() { fi } +# Funktion, um einen zufälligen Host-Namen aus der Liste auszuwählen +get_random_name() { + # Liste der Namen + local names=("frodo" "samweis" "gandalf" "aragorn" "legolas" "gimli" "boromir" "meriadoc" "peregrin" "arwen" "galadriel" "celeborn" "elrond" "glorfindel" "faramir" "eowyn" "theoden" "treebeard" "gollum" "sauron" "saruman" "bilbo" "denethor" "radagast" "thranduil" "bard" "frodo") + + # Zufälligen Index auswählen + local random_index=$((RANDOM % ${#names[@]})) + echo "${names[random_index]}" +} + # %--------------------end/Funktionen--------------------% echo "User / Passwort: $VAR_USER/Start1234" echo "Welches VDI-OS soll installiert werden" echo -echo "Für wen soll es sein?" +echo "Für wenn soll es sein?" echo COLUMNS=10 PS3="Ihre Auswahl: "