Xdialog - hur får man över dialogens svar…? [LÖST]
Postat: 04 jan 2009, 16:55
Har googlat och fått samma svar svar på min fråga över allt. Det är bara ett litet problem: Det FUNGERAR INTE!
Här är ett exempel som jag hittade på en sida:
Följande händer när jag kör skriptet, låter den förvalda stå kvar och klickar OK (jag har namngett filen till Test):
Lite undersökningar visar att filen /tmp/inputbox.tmp.$$ verkar skapas, men den förblir tom. Texten Allan som trots allt kom ut, returneras av Xdialog på något sätt och har inget med någon echo-sats i skriptet att göra.
Har även sett en annan lösning på nätet, som inte heller fungerar:
Samma sak här som i förra exemplet.
Mer info om mitt system, som inte borde skilja sig så värst mycket från andras här på forumet:
Funderar på om det kan vara så att detta fungerade i äldre versioner av Xdialog, då de flesta sidor om detta på nätet var några år gamla.
Här är ett exempel som jag hittade på en sida:
Kod: Markera allt
#!/bin/bash
Xdialog --title "INPUT BOX" --inputbox "What is your username?" 0 0 "Allan" > /tmp/inputbox.tmp.$$
retval=$?
input=`cat /tmp/inputbox.tmp.$$`
rm -f /tmp/inputbox.tmp.$$
case $retval in
0)
echo "Input string is '$input'";;
1)
echo "Cancel pressed.";;
255)
echo "Box closed.";;
esac
Kod: Markera allt
$./Test
Allan
Input string is ''
$
Har även sett en annan lösning på nätet, som inte heller fungerar:
Kod: Markera allt
#Lägg till följande rad i koden ovan:
input=`Xdialog --title "INPUT BOX" --inputbox "What is your username?" 0 0 Allan`
#Kommentera bort:
#Xdialog --title "INPUT BOX" --inputbox "What is your username?" 0 0 "Allan" > /tmp/inputbox.tmp.$$
#input=`cat /tmp/inputbox.tmp.$$`
Mer info om mitt system, som inte borde skilja sig så värst mycket från andras här på forumet:
Kod: Markera allt
$ bash --version
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
$ Xdialog --version
2.3.1
$