Shell CGI Script soll Sytemvariablen Schreiben und auslesen

L

Lukaszc

Hallo Liebes Forum!

Ich bin nicht gerade Anfänger was Unix anbetrifft. Jedoch was sehll scripting angeht. Hoffe aber unter euch Hilfe zu finden.

Ich habe mir ein Shell Script gebastelt. (bzw. ich quäle mich durch),

Nun ich möchte unter Unix eine Systemvariable anlegen. Eine die ich Parktisch mit einer Ziffer belegen kann. Sie solle eine Zahl zwischen 0 und 8 beinhalten.

Mit einem Shellscript möchte ich die Variable auslesen bzw ändern können. Das Script sieht nun wie folgt aus:

Code:
#!/bin/sh
echo "Content-Type: text/html"
echo ""
echo "<title>cgi-schnittstelle</title>"
z1=`date +%S`
z2=60

erg=`expr $z2 - $z1`
echo "Verbleibende Zeit $erg!"
echo ""

Soweit das für euch denke ich Kinderleicht sein sollte, für mich aber eine Mauer, wie ich jetzt heran gehen soll.

1. Ich weiß nicht wie ich eine neue Systemvariable unter Unix anlegen kann.
2. Das Script sollte diese Variable auslesen können. Steht die Variable höher (>0) also 1,2,3,4,5,6,7 oder 8 so müsste das Script verbleibende Zeit immer 0 ausgeben.

Steht aber diese Systemvariable auf 0 so soll das Script selbigen Dienst machen, wie es bislang tut.

Könnt ihr mir helfen?
 
Das mit der Systemvariable klappt so nicht, da Variablen in diesem Shellskript nicht von aussen geändert werden können. Die Shell kennt nur die Variablen, die zum Zeitpunkt des Starts in diese Shell exportiert wurden oder die sie selber anlegt.

Folgendes ist die normale Herangehensweise. Du vereinbarst ein File, in das Du den Inhalt der Variable schreibst, z.B.

Code:
echo 1 > tmpfile

und liest mit Deinem Skript dieses File aus:

Code:
tmpvar=$(cat tmpfile)

Anschliessend lässt sich diese Variable auswerten:

Code:
if [ $tmpvar -gt 0 ]; then
  ...
fi

Gruß, Xanti
 
Zuletzt bearbeitet:
Huhu Xanti,

Code:
tmpvar=$(cat tmpfile)

das cat könnte man noch wegrationalisieren und es so schreiben:

Code:
tmpvar=$(<tmpfile)

BTW: Was ist das eigentlich für ein Tier Dein Avatar? *g
Mein kleiner 1-jähriger Neffe sitzt ab und zu auf meinem Schoß,
spielt mit den Cursortasten (scrollt hoch und runter) und macht
damit Deinen "Bäaah" (wie er es ausspricht *lach*) Avatar weg und wieder sichbar.
Ist er dann wieder am Bildschirm zu sehen, lacht er voll süß :D :D :D
 
das cat könnte man noch wegrationalisieren und es so schreiben:

Code:
tmpvar=$(<tmpfile)

Yep, das geht natürlich auch.

BTW: Was ist das eigentlich für ein Tier Dein Avatar? *g
Mein kleiner 1-jähriger Neffe sitzt ab und zu auf meinem Schoß,
spielt mit den Cursortasten (scrollt hoch und runter) und macht
damit Deinen "Bäaah" (wie er es ausspricht *lach*) Avatar weg und wieder sichbar.
Ist er dann wieder am Bildschirm zu sehen, lacht er voll süß :D :D :D

Das ist ein Faultier. Ich find die Mimik von Faultieren lustig. :)

Es freut mich, dass dank meines Avatars auch 1-jährige Spaß mit dem ub haben. :D

Gruss, Xanti
 
Das ist ein Faultier. Ich find die Mimik von Faultieren lustig. :)
Es freut mich, dass dank meines Avatars auch 1-jährige Spaß mit dem ub haben. :D
Aaach ein Faultier - danke für die Info :D
Ja ich finds auch toll zu hören wie der kleine auf die Frage "Wer is des? *mit Finger auf den Avatar zeig* antwortet: "..aaantii" *lach*
 
Mit einem Jahr? Scheint wirklich aufgeweckt zu sein, der Bursche. :)

Ich war jetzt aber nicht das erste Wort, dass er gesprochen hat. ;)
 
Mit einem Jahr? Scheint wirklich aufgeweckt zu sein, der Bursche. :)

Ich war jetzt aber nicht das erste Wort, dass er gesprochen hat. ;)

Jop ist er total!
...Nein natürlich nicht - das erste Wort war "Schlaubi" - ach quatsch :D :D ...keine Ahnung...aber man muss auch ehrlich zugeben, dass man bissi Fantasie braucht,
um zu verstehen, dass er "aantii" sagt *gg
 

Ähnliche Themen

Last mit etc/passwd anzeigen lassen

CGI laesst sich nicht ausfuehren

Zurück
Oben