cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 0
Gäste online: 0
mehr...

Anzeige
Forum » Forum: Softwareprogrammierung » Thread: [gelöst] Shellscript funktioniert nicht

Thread: [gelöst] Shellscript funktioniert nicht

Tags: Linux , debian , if , Shell

26.05.2008 21:46 Uhr

 

Status: offline
Hallo Leute,

ich habe folgendes Script:
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
chkrun="$(head -n1 state.dat)"
if [ x"$chkrun" = x"0" ];
then
  echo "1" > state.dat;
  path="$(head -n1 file.dat)"
  if [ x"$path" = x"0" ];
  then
  echo "Nothing to do" >/var/log/php_antivirus.log;
  else
  clamscan "/var/www/setup/tmpfiles/$path" > /var/log/php_antivirus.log;
  fi
 
  lynx --dump http://localhost/setup/upload/scan.php;
  echo "0" > state.dat;
else
echo `date` >lol.dat;
fi
Und die Datei state.dat.
PHP:
1
0
Wenn ich jetzt das Script ausführe lande ich immer in folgendem Teil:
PHP:
1
echo `date` >lol.dat;
Warum?
Was habe ich falsch programmiert.
Eigentlich sollte er in den oberen Teil, weil in der Datei state.dat eine Null steht, die besagt, dass das Programm momentan noch nicht läuft, und es geladen werden darf.

Danke
Jan

PS: OS = Debian Etch
1 mal bearbeitet
___________________________
MFG Jan
"funzt nicht" ist keine gültige Fehlerbeschreibung!*haarerauf*
http://www.sysprofile.de/id30821
26.05.2008 22:29 Uhr

 

Status: offline
Ich bin zwar nicht so der Shell-Progger, aber ich würd mal behaupten, dass nach dem Bedingungsausdruck des if und vor dem then kein ';' kommt.
___________________________
Programmieren ist eine Sucht deren Rausch ein Gefühl der Macht ist... sofern man den Computer bezwingt. Gefährliche Nebenwirkungen: Verstärkter Kaffee-Konsum, erhöhter Ehrgeiz und ggf. Wutausbrüche und verknotete Gehirnwindungen.
27.05.2008 16:18 Uhr

 

Status: offline
@HangMan
Zitat:
dass nach dem Bedingungsausdruck des if und vor dem then kein ';' kommt.

Doch, tut es.

@klasse7darg
PHP:
1
chkrun="$(head -n1 state.dat)"
Bist du sicher, dass nur die Ziffer eingelesen wird? Könnte gut sein, dass auch noch der Zeilenumbruch (also \n) mit eingelesen wird und deshalb die IF-Bedingung nicht erfüllt wird.
PHP:
1
if [ x"$chkrun" = x"0" ];
Warum machst du hier eigentlich noch ein x vor die Werte die du eigentlich vergleichen willst?

Ansonsten kann ich momentan keinen Syntaxfehler erkennen.
___________________________
guru@linux:/pub # who | grep -i blonde | talk; cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; mount; fsck; more yes; gasp; umount; make clean; sleep;
http://www.georgkainzbauer.de/ http://www.georgkainzbauer.de/gtkdb/
27.05.2008 16:51 Uhr

 

Status: offline
[i]
Zitat:
Warum machst du hier eigentlich noch ein x vor die Werte die du eigentlich vergleichen willst?

Ich habe kaum (keine) Ahnung von Shell Scripten, deshalb hatte ich mir mal in ner Linux Community helfen lassen, da hatte man mir den Code für die 2. if Abfrage gegeben, diesen hab ich jetzt einfach versucht zu übertragen.

Wegen dem Zeilenumbruch:
PHP:
1
echo "0" > state.dat;
Sollte doch keinen Umbruch erzeugen, oder doch?[/i]

Sorry, Fehler gelöst:
Das Problem, wenn man kein Homogenes Netzwerk hat! Ich hab die Textdatei von Windows aus erstellt.
Jetzt, wenn ich echo "0" > state.dat in der Konsole eingegeben hab, läufts!
1 mal bearbeitet
___________________________
MFG Jan
"funzt nicht" ist keine gültige Fehlerbeschreibung!*haarerauf*
http://www.sysprofile.de/id30821
Ähnliche Threads Forum Ähnlichkeitsgrad
 Postfix User-Problem Software & Betriebssysteme 2
 [ssh] Read from socket failed: Connection reset by peer Software & Betriebssysteme 2
 gelöst Fehler mit Umlauten bei RSS-Reader auf einem Debian Server Website & Webprogrammierung 2
 Schreibzugriffe auf externe Festplatte puffern -Debian Software & Betriebssysteme 2
 Linux Installation Festplatteneinteilung Software & Betriebssysteme 1
 Linux Einstieg- Linux im Netzwerk Software & Betriebssysteme 1
 XP - Die Linux Distribution im Kurztest Off-Topic 1
Passende eBook-Abschnitte eBook Ähnlichkeitsgrad
if, elseif, else PHP 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung