Shell Script funktioniert nicht
Liebe Community
Wieder einmal habe ich ein Problem, diesmals gehts darum, dass ich ein Shell-Script (für einen Suse-Server) erstellen sollte, welches eine Logdatei erstellen sollte.
Die Shell-Datei sieht so aus:
Wie Ihr erkennen könnt, sollte die Datei eine Ausgabe der variablen I in die Datei ora.log erstellen.
jedoch kommt jedes mal die Fehlermeldung:
Diese Datei hat die Berechtigungen 755 und ich bin als root angemeldet, so versuchte ich diese Datei auszuführen.
Freundliche Grüsse
Gansterjo2
Wieder einmal habe ich ein Problem, diesmals gehts darum, dass ich ein Shell-Script (für einen Suse-Server) erstellen sollte, welches eine Logdatei erstellen sollte.
Die Shell-Datei sieht so aus:
#!/bin/ksh
((i=0))
while ((i<m)); do
echo $i>>/var/log/ora.log # do something
((i+=1))
done
Wie Ihr erkennen könnt, sollte die Datei eine Ausgabe der variablen I in die Datei ora.log erstellen.
jedoch kommt jedes mal die Fehlermeldung:
bash: ./shell_script.sh: /bin/ksh^M: bad interpreter: No such file or directory
Diese Datei hat die Berechtigungen 755 und ich bin als root angemeldet, so versuchte ich diese Datei auszuführen.
Freundliche Grüsse
Gansterjo2
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 190822
Url: https://administrator.de/forum/shell-script-funktioniert-nicht-190822.html
Ausgedruckt am: 22.12.2024 um 21:12 Uhr
14 Kommentare
Neuester Kommentar
Moin,
Von suse hab ich ja nicht so viel ahnung, aber joe gibts da sicherlich auch.
Welchen Texterzeuger hast du denn benutzt?
Von suse hab ich ja nicht so viel ahnung, aber joe gibts da sicherlich auch.
Welchen Texterzeuger hast du denn benutzt?
moin,
einfach die datei passend umformatieren. Unixoide bBetriebssyteme benötigen nur LF (^J) und kein CR(^M)/CRLF(^M^J) für das Zeilenende.
BTW: es wäre eine gute Idee m zu initialisieren.
lks
einfach die datei passend umformatieren. Unixoide bBetriebssyteme benötigen nur LF (^J) und kein CR(^M)/CRLF(^M^J) für das Zeilenende.
BTW: es wäre eine gute Idee m zu initialisieren.
lks
Zitat von @Gansterjo2:
Ich hab das mit dem Notepad geschrieben, als *.sh abgespeichert und via FTP auf den Server geladen
Ich hab das mit dem Notepad geschrieben, als *.sh abgespeichert und via FTP auf den Server geladen
Dann sollest Du bei textdateien den FTp-Client in den ASCII-Modus umschalten. Dann macht der solche Konvertierungen von selbst.
lks
Ot..
Was meint denn unser lochkartenstanzer mit dieser zeile?
Was meint denn unser lochkartenstanzer mit dieser zeile?
Zitat von @Gansterjo2:
Diese Datei hab ich auch dann ausgeführt, jedoch geschieht irgend wie nichts. Sprich die geplante Datei wird nicht
ausgeführt.
Diese Datei hab ich auch dann ausgeführt, jedoch geschieht irgend wie nichts. Sprich die geplante Datei wird nicht
ausgeführt.
moin,
Schau mal hier. Da hatte ich dir schon einen Hinweis gegeben.
lks
PS: Timo hat Dich auch schon drarauf hingewiesen.
Hallo,
was willst Du denn mit einer unbeendeten Schleife?
kenn mich mit dem Scripten in der Dosbox nicht so gut aus.. aber ist die nicht auch case-sensitive ?? weil Z=%x%+1 und dann x=%z% ??
was willst Du denn eigentlich mit dem Script auf dem Linuxserver erreichen?
Die Scriptschleife oben umgeschrieben etwa so:
#!/bin/ksh
x=0
while [ $x -lt 0 ] /* edit.. jenachdem wie oft du die schleife ausfuehren willst... hier wuerde Sie nur einmal ausgefuehrt.. */
do
echo $x >> ora.log
x=`expr $x +1`
done
Gruss
was willst Du denn mit einer unbeendeten Schleife?
kenn mich mit dem Scripten in der Dosbox nicht so gut aus.. aber ist die nicht auch case-sensitive ?? weil Z=%x%+1 und dann x=%z% ??
was willst Du denn eigentlich mit dem Script auf dem Linuxserver erreichen?
Die Scriptschleife oben umgeschrieben etwa so:
#!/bin/ksh
x=0
while [ $x -lt 0 ] /* edit.. jenachdem wie oft du die schleife ausfuehren willst... hier wuerde Sie nur einmal ausgefuehrt.. */
do
echo $x >> ora.log
x=`expr $x +1`
done
Gruss