Rückgabewert Script
Rückgabewert Script
Hi ich habe ein Script geschrieben mit dialog und hab es wohl kaputt gemacht. Leider so das weder ich noch mein Ausbilder es nachvollziehen können.
Ich bekomme bei "echo $?" den Rückgabewert 255 ... Kann irgendjemand damit was anfangen?
Grüße
Ich bekomme bei "echo $?" den Rückgabewert 255 ... Kann irgendjemand damit was anfangen?
Grüße
Re: Rückgabewert Script
*Glaskugelmodus an*
Dass könnten die Zugriffsrechte von einer Datei bzw einem Verzeichnis sein. Oder irgend ein Fehlercode von irgend einem aufgerufenen Programm.
*Glaskugelmodus aus*
Aber jetzt mal im Ernst.
Woher soll dir hier irgendjemand erklären können was der Rückgabewert von deinem Script zu bedeuten hat wenn du nicht mal Ansatzweise erklärst was dein Script überhaupt tut?![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Dass könnten die Zugriffsrechte von einer Datei bzw einem Verzeichnis sein. Oder irgend ein Fehlercode von irgend einem aufgerufenen Programm.
*Glaskugelmodus aus*
Aber jetzt mal im Ernst.
Woher soll dir hier irgendjemand erklären können was der Rückgabewert von deinem Script zu bedeuten hat wenn du nicht mal Ansatzweise erklärst was dein Script überhaupt tut?
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
„Wenn die meisten sich schon armseliger Kleider und Möbel schämen, wie viel mehr sollten wir uns da erst armseliger Ideen und Weltanschauungen schämen.“
Re: Rückgabewert Script
Am besten postest du mal das Skript.
Wenn es zu lang sein sollte, kannst du es nach http://nopaste.debianforum.de/ verlinken.
Wenn es zu lang sein sollte, kannst du es nach http://nopaste.debianforum.de/ verlinken.
Oh, yeah!
Re: Rückgabewert Script
Ja es ist aber nicht gerade kurz. Hab jetzt mal ein Ausschnitt davon.
Selbst so geht das Script nicht mehr, wobei es eig gehen MUSS. Es ist davor auch gegegangen. hab alle Änderungen wieder rückgäng gemacht. (hatte anstatt den festen größen für die Fenster Variablen eingesetzt die die aktuelle Fenstergröße auslesen und entsprechend die Dialoggröße anpassen) Ist aber wieder draußen.
Besser so?
Code: Alles auswählen
#!/bin/bash
...
main_menu() {
IFS_BAK=$IFS
IFS=$'\n' # wegen Filenamen mit Blanks
ARRAY=( $(ls $DIR_PROJECTS) )
N=0
MENUITEMS=''
for ITEM in ${ARRAY[@]}
do
if [ $ITEM != "####" ] ; then
MENUITEMS="$MENUITEMS $N ${ITEM// /_}" # subst. Blanks with "_"
let N+=1
fi
done
IFS=$IFS_BAK
dialog --backtitle "#### ####" \
--title "####t" \
--cancel-label "Quit" \
--menu "####" 14 60 12 \
$MENUITEMS 2> $FILE_TEMP
echo $? # hab das echo hier eingefügt. hier muss es ein problemm geben
exit
if [ $? -eq 0 ]; then
ITEM=`cat $FILE_TEMP`
NAME_PROJECT=${ARRAY[$(cat $FILE_TEMP)]}
dialog --cancel-label "Cancel" \
--menu "Project: $NAME_PROJECT" 14 60 7 \
#### "text" \
#### "text \
#### "text" \
#### "text" \
#### "text" 2> $FILE_TEMP
ITEM=`cat $FILE_TEMP`
case $ITEM in
####) funktion1;;
####) funktion2;;
####) funktion3;;
####) funktion4;;
####) funktion5;;
esac
else
$RM $FILE_TEMP; exit;
fi
}
...
while true ; do
main_menu
done
Besser so?
-
- Beiträge: 115
- Registriert: 15.01.2005 22:35:26
Re: Rückgabewert Script
Versuch an Stelle der 12 mal was kleineres, eine 7 vielleicht. Ich denke, das Menü mit Höhe 12 passt nicht in das Fenster mit Höhe 14. Daher der Exit-Code 255cphowdy hat geschrieben:Code: Alles auswählen
(...) dialog --backtitle "#### ####" \ --title "####t" \ --cancel-label "Quit" \ --menu "####" 14 60 12 \ $MENUITEMS 2> $FILE_TEMP echo $? # hab das echo hier eingefügt. hier muss es ein problemm geben (...)
![Arrow :arrow:](./images/smilies/icon_arrow.gif)
Re: Rückgabewert Script
Ich glaub ich muss durchdrehen...
Wenn die Höhre und Breite bislang nicht wirklich gepasst hat, hat er das immer total verzogen angezeigt. Das er das gar nicht anzeigt war neu.
Hmm dann muss ich aufpassen mit den dynamischen Fenstern. Wollte eben anhand der Fenstergröße der aktuellen Sitzung (putty) die Fenstergröße von dialog anpassen, als ich dann wieder händisch Werte eingetragen hab, hat das wohl nicht mehr gepasst!!
DANKE EUCH!
Wenn die Höhre und Breite bislang nicht wirklich gepasst hat, hat er das immer total verzogen angezeigt. Das er das gar nicht anzeigt war neu.
Hmm dann muss ich aufpassen mit den dynamischen Fenstern. Wollte eben anhand der Fenstergröße der aktuellen Sitzung (putty) die Fenstergröße von dialog anpassen, als ich dann wieder händisch Werte eingetragen hab, hat das wohl nicht mehr gepasst!!
DANKE EUCH!
Re: Rückgabewert Script
Gibts eigentlich irgendwo ne Übersicht über die Fehlercodes?
Und noch ne Frage: Wenn ich auf der Console echo ${LINES} mache , zeigt er mir die Anzahl der Zeilen an, wenn ich das im Script mache nicht. - Warum?
Und noch ne Frage: Wenn ich auf der Console echo ${LINES} mache , zeigt er mir die Anzahl der Zeilen an, wenn ich das im Script mache nicht. - Warum?
-
- Beiträge: 115
- Registriert: 15.01.2005 22:35:26
Re: Rückgabewert Script
Auszug aus der man-page von dialog (cphowdy hat geschrieben:Gibts eigentlich irgendwo ne Übersicht über die Fehlercodes?
![Arrow :arrow:](./images/smilies/icon_arrow.gif)
Code: Alles auswählen
DIAGNOSTICS
Exit status is subject to being overridden by environment variables. Normally they are:
0 if dialog is exited by pressing the Yes or OK button.
1 if the No or Cancel button is pressed.
2 if the Help button is pressed.
3 if the Extra button is pressed.
-1 if errors occur inside dialog or dialog is exited by pressing the ESC key.
Warum die Variable im Script nicht gefüllt wird, kann ich Dir leider nicht sagen. Alternativ könnte aber stattcphowdy hat geschrieben:Und noch ne Frage: Wenn ich auf der Console echo ${LINES} mache , zeigt er mir die Anzahl der Zeilen an, wenn ich das im Script mache nicht. - Warum?
Code: Alles auswählen
${LINES}
Code: Alles auswählen
$(tput lines)
Re: Rückgabewert Script
Großes Lob , danke funktioniert. Was ich vll davor noch hätte erwähnen sollen ist, dass ich das ganze auch noch für ${COLUMNS} brauche ... sry
Dachte es geht dann auch wie mit lines aber ist nicht so...
liefert keine ausgabe
Dachte es geht dann auch wie mit lines aber ist nicht so...
Code: Alles auswählen
$(tput columns)
Re: Rückgabewert Script
ok es ist ist $(tput cols) .... ok ein bisschen eigeninitiative ist nie verkehrt....
siehe "man tput"...
siehe "man tput"...