Ich habe ein Bash-Script vor mir, das mit dialog erweitert werden soll um es komfortabler zu machen. Das Problem, mit dem ich kämpfe hat etwas mit Escaping zu tun, und ich sehe gerade wohl den Wald vor lauter Bäumen nicht. Vielleicht kann mir hier bitte jemand auf die Sprünge helfen.
Der Part, um den es geht, sieht so aus:
Code: Alles auswählen
HEADERS=$(git log origin/master --pretty=format:'"%H" * "%s"' -5 --abbrev-commit)
while read -r HEADER; do
IFS='*' read var1 var2 <<< $HEADER
options+=($var1 $var2)
echo "1 --- $var1"
echo "2 --- $var2"
#sleep 3
echo "atoptions = ${options[@]}"
echo "optins = $options"
done <<< "$HEADERS"
cmd=(dialog --menu 'Welchen Header soll ich verwenden?' 0 0 8)
command=$(echo "${cmd[@]}" "${options[@]}" "2>file")
$command
Code: Alles auswählen
command='dialog --menu Welchen Header soll ich verwenden? 0 0 8 "d9f88604fe3fd0e80fd61f8cc4729b547138b7ef" "Merge remote-tracking branch '\''origin/master'\''" "a088a2430922921b5fc98a83be3fb85dc16a749b" "Shipping '\''2900'\'' auf '\''0'\'' gesetzt" "9acb80b64e43032e8be22062571ce8654dfdaf0a" "Version 3.1" "954b1140a2244bac0cd6dcc2a98b17d073214a4e" "Pfadangabe vom import-Ordner angepasst (Extra und Description)" "b7464bb45a971ddd4e3fd168ced7b2156ad68dd0" "blubb" 2>file'
Code: Alles auswählen
"d9f88604fe3fd0e80fd61f8cc4729b547138b7ef" * "Merge remote-tracking branch 'origin/master'"
"a088a2430922921b5fc98a83be3fb85dc16a749b" * "Shipping '2900' auf '0' gesetzt"
"9acb80b64e43032e8be22062571ce8654dfdaf0a" * "Version 3.1"
"954b1140a2244bac0cd6dcc2a98b17d073214a4e" * "Pfadangabe vom import-Ordner angepasst (Extra und Description)"
"b7464bb45a971ddd4e3fd168ced7b2156ad68dd0" * "blubb"
Danke im Voraus.