PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : script hat shell-problem



dott
05.06.03, 12:29
Ich möchte folgendes einfaches script unter linux nutzen, es ist ein antviren-updatescript:

#!/bin/sh

/usr/bin/wget -N http://www.sophos.com/downloads/ide/369_ides.zip
/usr/bin/unzip -q -n "369_ides.zip"
/bin/chmod 644 *

nun hab ich das problem, dass zwar wget funktioniert, aber unzip und chmod mit folgenden fehlern abbrechen:

.ZIP.or 369_ides.zip369_ides.zip
/bin/chmod: konnte Attribute von >>*\r<< nicht holen: Datei oder Verzeichnis nicht gefunden

Wenn ich die Befehle manuell ausführe, funktionieren sie tadellos. Ich denke es ist ein Fehler in der shell, weiß aber nicht wie und wo ich den beheben kann.

Ich nutze SuSE 8.1 Prof.

P3AC3MAK3R
05.06.03, 12:55
Liegt es vielleicht daran, daß Du in Deinem Skript die sh-Shell angegeben hast (#!/bin/sh) und Du die Befehle in der Standard-Shell bash ausprobiert hast?

pibi
05.06.03, 13:06
Ich habe Dein Script gerade bei mir laufen lassen -- OHNE Fehler. Einwandfrei. Und ja, am Tip meines "Vorredners" (der mit dem Buchstaben-Zahlen-Wirrwar-Namen) koennte auch was dran sein.

Gruss pit.

dott
05.06.03, 13:21
ich hab es auf '#!/bin/bash' geändert und es kommen die gleichen Fehlermeldungen. Unter welchen Rechten hast du das Script laufen lassen?

P3AC3MAK3R
05.06.03, 13:29
der mit dem Buchstaben-Zahlen-Wirrwar-Namen
3 => e

P3AC3MAK3R = Peacemaker ;)

pibi
05.06.03, 13:59
@dott:
Als ganz stinknormaler User, so wie es sein sollte. Starte das Script doch mal mit dem Parameter "-x", dann wird die Shell etwas "gespraechiger" und liefert vielleicht einen zusaetzlichen Hinweis. Also etwa so: "sh -x scriptname".

@peacemaker:
Ich weiss, ich weiss;-) Ich wollte Dich einfach nur ein bisschen "anzuenden" (auf hochdeutsch ist das wohl "aufziehen" oder "foppen"), weil ich persoenlich diese Schreibweisen absolut aetzend finde. Aber das ist zum Glueck Geschmackssache.

Gruss Pit.

dott
05.06.03, 14:09
Darauf hin sagt er folgendes:

+ /usr/bin/unzip -q -n $'369_ides.zip\r'
.ZIP.or 369_ides.zip369_ides.zip
' /bin/chmod 644 '*
/bin/chmod: konnte Attribute von >>*\r<< nicht holen: Datei oder Verzeichnis nicht gefunden

sepp2k
05.06.03, 14:26
ähm, mit welchem Text-Editor hast du das Shel-Script geschrieben? Entferne mal alle '\r's

pibi
05.06.03, 14:26
Und der erste Befehl mit wget wurde ausgefuehrt? Das Zipfile liegt im aktuellen Directory?


+ /usr/bin/unzip -q -n $'369_ides.zip\r'
.ZIP.or 369_ides.zip369_ides.zip
' /bin/chmod 644 '*
/bin/chmod: konnte Attribute von >>*\r<< nicht holen: Datei oder Verzeichnis nicht gefundenWenn das so wirklich so auf dem Bildschirm stand, dann ist was faul. Zum Einen erkennt das Script nur eine Zeile (jeder Befehl im Script beginnt mit einem "+" an der ersten Stelle. Dann stoert mich das "$"-Zeichen und das "\r". Mein Tip: Fuehre die Befehle nochmal von Hand aus und kopiert sie dann mit Cut&Paste in ein neues Script und probiere wieder.

Gruss Pit.

dott
05.06.03, 15:14
ich hab das script jetzt nochmal neu geschrieben, jetzt läuft es durch. Verstehe das wer will?!

Danke für die Hilfe!

sepp2k
05.06.03, 15:46
Original geschrieben von dott
Verstehe das wer will?!
Die Datei war e4infach falsch formatiert. Die Zeilenumbrüche wurden mit \r statt mit \n gemacht. Deshalb hab ich gefragt welchen Editor du benutzt hast