Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
joe2017
- Beiträge: 1274
- Registriert: 07.08.2017 14:29:51
Beitrag
von joe2017 » 03.12.2020 09:51:09
Schönen Guten Morgen,
ich habe noch mal eine Frage zu zenity und komme hier nicht weiter. Ich möchte eine einfache Dropdown Liste zum auswählen hinzufügen. Jedoch schaffe ich es nicht meine Werte mit dieser Box zu verknüpfen.
Vielleicht hat das schon jemand mal gemacht und kann mir zeigen wie ich das anstelle.
Ich möchte die Werte aus (array) mit der (--add-combo="Domain") verbinden.
Anbei mein Script:
Code: Alles auswählen
#!/bin/bash
OUTPUT=$(zenity --forms --title="Remote Desktop" \
--text="Enter information about your Remote Connection" \
--separator="," \
--add-entry="Username" \
--add-password="Password" \
--add-combo="Domain" \
--add-entry="RemoteIP (optional)")
OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
echo "something went wrong"
exit 1
fi
Blank=""
Username=$(awk -F, '{print $1}' <<<$OUTPUT)
Password=$(awk -F, '{print $2}' <<<$OUTPUT)
Port="3389"
array=("domainA.net" "domainB.com")
Server=$(awk -F, '{print $3}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
Server="192.168.1.10"
fi
xfreerdp /v:$Server:$Port /d:"${array[@]}" /u:$Username /p:$Password +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /cert-ignore /f
Password=""
Zuletzt geändert von
joe2017 am 10.12.2020 16:24:25, insgesamt 1-mal geändert.
-
tobo
- Beiträge: 2336
- Registriert: 10.12.2008 10:51:41
Beitrag
von tobo » 03.12.2020 10:26:42
Getrennt durch |:
Code: Alles auswählen
--add-combo="Domain" \
--combo-values="domainA.net|domainB.com" \
--add-entry="RemoteIP (optional)")
-
joe2017
- Beiträge: 1274
- Registriert: 07.08.2017 14:29:51
Beitrag
von joe2017 » 03.12.2020 10:28:35
Hi tobo,
danke für die Info. Das hat soeben funktioniert.
Weist du zufällig auch wie ich einen Default Wert setze? Leider wird nicht der erste Eintrag als Default Wert verwendet.
-
joe2017
- Beiträge: 1274
- Registriert: 07.08.2017 14:29:51
Beitrag
von joe2017 » 03.12.2020 10:34:08
Ich habe es jetzt wie folgt aufgebaut:
Code: Alles auswählen
#!/bin/bash
OUTPUT=$(zenity --forms --title="Remote Desktop" \
--text="Enter information about your Remote Connection" \
--separator="," \
--add-entry="Username" \
--add-password="Password" \
--add-combo="Domain" \
--combo-values="domainA.net|domainB.com"
--add-entry="RemoteIP (optional)")
OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
echo "something went wrong"
exit 1
fi
Blank=""
Username=$(awk -F, '{print $1}' <<<$OUTPUT)
Password=$(awk -F, '{print $2}' <<<$OUTPUT)
Port="3389"
Domain=$(awk -F, '{print $3}' <<<$OUTPUT)
if ["$Domain" = "$Blank"]; then
Domain="domainA.net"
fi
Server=$(awk -F, '{print $4}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
Server="192.168.1.10"
fi
xfreerdp /v:$Server:$Port /d:"$Domain" /u:$Username /p:$Password +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /cert-ignore /f
Password=""
Leider funktioniert das mit dem BLANK für die Variable Domain nicht.
Und wenn nichts ausgewählt wird, bleibt die Variable Leer.
-
joe2017
- Beiträge: 1274
- Registriert: 07.08.2017 14:29:51
Beitrag
von joe2017 » 03.12.2020 11:00:29
Mit folgendem Befehl funktioniert alles.
Code: Alles auswählen
Domain=$(awk -F, '{print $3}' <<<$OUTPUT)
if [[ $Domain != *"net"* ]];then
Domain="managed-success.net"
fi
Trotzdem wäre es schön zu wissen ob man einen Default Wert für für die combo Box wählen kann.