Aufrufproblem der Shell

SoulOfDarkness

SoulOfDarkness

Jungspund
Hey,

ich habe mein Skript jetzt mal soweit fertig, dass ich es auf dem Rechner mal testen kann.
Das problem ist, wenn ich die Shell mit folgender Zeile aufrufen möchte:
Code:
./Backup.sh
kommt die Fehlermeldung, dass diese Datei, oder das angegebene Verzeichnis nicht gefunden werden kann.
Hat jemand eine Ahnung woran das liegen könnte? Haben es schon mit einer andernen Shell verucht und auch in einem anderen Verzeichnis...

Vielen Dank für eure Ratschläge.

Gruß Soul
 
hast du es schon mit dem kompletten pfad versucht?
/home/bla/./blub
 
Und Du befindest Dich latürnich in dem Verzeichnis, wo Backup.sh liegt?
Latürnich hast Du das Script per chmod 775 Backup.sh ausfürbahr gemacht, oder?
 
geht es mit sh <dein sh>
wenn ja dann halte dich an towo (ich bin mal wieder zuspät ^^)
 
@ weor: jap habe ich
@ towo: ja, ich befinde mich in dem Verzeichnis und das Shell ist auf chmod 755 eingestellt, aufgerufen wird es mit dem Superuser
@ root: das habe ich auch versucht, mit bash ./Backup.sh und den anderen Pfadkombinationen, aber es will einfach nicht
 
Aber den Inhalt des Scriptes willst Du uns nicht verraten, oder?
 
Aber den Inhalt des Scriptes willst Du uns nicht verraten, oder?

Doch kann ich(*1), aber ich habe es auch mit den Parametern -vn versucht und er findet/öffnet die Shell erst gar nicht. Zusätzlich habe ich eine neue kleine Shell erstellt (auch diese auf chmod 755 gesetzt und mit root gestartet):

Code:
#!bin/bash
echo "hallo"
exit

Aber auch diese wurde nicht gefunden. Daher glaube ich kaum, dass es an dem Skript liegt.

Meint Ihr, das könnte an der Linux Distribution liegen? -> c't-Debian-Server

(*1) Es handelt sich um ein Backupscript, mit einigen Abfragelogiken und Dateizugriffen.
 
Hast du mal #! /bin/sh versucht?
Und hast du genügend Rechte?
 
An den Rechten dürfte es nicht liegen, eher an deinem ersten Tip.
Einfach einen Slash zwischen ! und bin/bash und der Käse sollte gegessen sein.

Vielen Dank nochmal, aber das war schon drin. : (
Ich habe keine Idee mehr. oder meint ihr dass es daran liegen könnte, dass ich irgendwo ein Leerzeichen zu viel habe?
 
DEIN Skript posten und darauf achten, dass Du keine Copy&Paste Fehler reinbringst, dann seh ma weiter...
 
Hallo
Du hast das Script aber schon unter Linux/Unix erstellt?
Nicht dass du da irgendwelche \r drinnen hast.
BTW Ein Script was mit dem Interpreter (hier also bash) aufgerufen wird, braucht weder Ausführungsrechte noch eine Shebang.

Gruß Wolfgang
EDIT: Welche Fehlermeldung bekommst du eigentlich?
 
Irgendwie hinbekommen...

Vielen dank nochmal,

ich hatte es dann irgenwie hinbekommen, das es tut. Hatte anschließend nur noch ein Problem mit CR/LR (glücklicherweise behoben...), wonach ich 2 Tage gegoogelt habe und jetzt bin ich am debugen, tut aber immer noch nicht recht...
Fehler:
Line 171: syntax error near unexpected token '}'
Jemand eine Idee was das bedeutet? Habe danach gegoogelt, aber keine Idee woran es liegen könnte...
----
Im Anhang das momentane Script.

PS: Für Verbesserungen in Performance, Syntax und änhnliches bin ich sehr gerne offen. (Beispiel sinnlose Schleifen oder so etwas.)
 

Anhänge

  • Backupunix.gz
    1,1 KB · Aufrufe: 3
Zuletzt bearbeitet:
Vielen dank nochmal,

ich hatte es dann irgenwie hinbekommen, das es tut. Hatte anschließend nur noch ein Problem mit CR/LR (glücklicherweise behoben...), wonach ich 2 Tage gegoogelt habe und jetzt bin ich am debugen, tut aber immer noch nicht recht...

Fehler:

Line 171: syntax error near unexpected token '}'

Jemand eine Idee was das bedeutet? Habe danach gegoogelt, aber keine Idee woran es liegen könnte...

Im Anhang das momentane Script.

Hallo
Hättest du meinen Beitrag gelesen, hättest du das CR\LF Problem früher erkannt.
BTW Deine datei ist kein Shellscript, sondern dito eine DOS-Datei , die keine gültigen Shell-Befehle enthält.

Um welche Shell geht es denn nun, bzw welches OS?
Bitte komm nicht mit Windows-Derivaten.
Hier der Inhalt deiner seltsamen scriptdatei:
## Konfig-Datei fuer BackupScript
##
## !Wichtig!
## - Bitte auf gro�und klein Schribung achten.
## - Bitte Variablen nur mit den Vorgeschribenen Werten befllen.
## - Bitte den ":" auserhalb der Variablenzuweisung vermeiden,
## da dies zu Fehlern fhren kann.
## - Bitte nach dem ":" Keine Leerzeichen setzen.
## - Bitte Kommentarzeilen mit ## am Anfang versehen.
## - Bitte "##" NICHT in Zeilen mit Variablenzuweisungen verwenden.
## !Wichtig!
##
##
## *************************************************************************
## **-------------------- Einstellung der Zielsystemdaten ----------------**
## *************************************************************************
##
##
## Festlegung der IP-Adressen und Verzeichnisse
##
## -IP = Zieladresse des Systems
## -Pfad = Zielverzeichnis, in das gespeichert werden soll
## -USER = Benutzername an dem Zielsystem
## -Pass = Passwort des Zielbenutzers
##
## ! Es ist zu beachten, dass nach dem ":" KEIN Leerzeichen stehen darf!
## Au�rdem drfen nur die Werte nach dem ":" ge�dert werden.
## Wenn neue Speicherziele hinzukommen, mssen diese im Quellcode erg�zt werden.
##
##
##
Festplatte1-IP:192.168.x.x
Festplatte1-Pfad:C:\Backup
Festplatte1-USER:USER
Festplatte1-PASS:PASS
##
Festplatte2-IP:192.168.x.x
Festplatte2-Pfad:C:\Backup
Festplatte2-USER:USER
Festplatte2-PASS:PASS
##
DVD-IP:192.168.x.x
DVD-Pfad:D:\
DVD-USER:USER
DVD-PASS:PASS
##
CD-IP:192.168.x.x
CD-Pfad:D:\
CD-USER:USER
CD-PASS:PASS
##
## *************************************************************************
## **--------------------- Einstellung der Tagessicherung ----------------**
## *************************************************************************
##
## Einstellung Datensicherung:
##
## 1 = Montag
## 2 = Dienstag
## 3 = Mittwoch
## 4 = Donnerstag
## 5 = Freitag
## 6 = Samstag
## 7 = Sonntag
##
## M�liche Angaben:
##
## Festplatte
## DVD
## CD
## Keine
##
## Bitte Festplatte2 nicht als Vorgabewert nehmen, da es nur eine Alternative
## fr Festplatte1 ist und nur genutz wird, wenn diese ausgefallen ist.
##
1:Festplatte
2:Festplatte
3:Festplatte
4:Festplatte
5:CD
6:Keine
7:Keine
##
## *************************************************************************
## **------------------------ Weitere Einstellungen ----------------------**
## *************************************************************************
##
## Einstellung, bei wie viel % Speicherbelegung eine Warung ausgegeben werden soll.
##
Warnlimit:90
##
## Gibt die Ordner an, welche gesichert werde sollen.
Backupfiles:/etc/ /home/ /usr/ /var/
##
## Die Error Message fr die Mail im Falle eines Fehlers
Error:Der Vorgang, konnte nicht abgeschlossen werden, bitte �erprfen Sie die LogDatei, um naehere Infos zu bekommen.
##
##
##
##
Logdatei:log01.txt

"Backupunix" [konvertiert][dos] 101L, 2903C
:think: :think:

Gruß Wolfgang
 
Zuletzt bearbeitet:
Entschuldigung, das war die Config Datei, der hat die falsche Datei angehangen....
 

Anhänge

  • backupunix.sh.gz
    2,3 KB · Aufrufe: 6
Neue Version

Das ist die heutige Version,
hat jemand eine Idee, warum der ping-Befehl nicht tut? Wenn ich ihn in der Commandozeile eingebe, geht es ohne Probleme aber ich kann den Rückgabewert nicht in eine Variable schreiben...
 

Anhänge

  • backupunix.sh_2.gz
    2,3 KB · Aufrufe: 3
Hallo
Ich habe jetzt nicht das ganze Script für dich debuggt.
Aber dein ping mit grep matcht nicht.
Warum wertest du nicht einfach den Rückgabewert aus.
eg
Code:
 ping -c1 -q $IP ;
ERROR= $?;
if [ $ERRO -gt 0 ];then 
echo "error on $IP...

Gruß Wolfgang
PS Die Ausgabe von Ping kannst du gegen /dev/null erden.
 
Hallo
Ich habe jetzt nicht das ganze Script für dich debuggt.
Aber dein ping mit grep matcht nicht.
Warum wertest du nicht einfach den Rückgabewert aus.
eg
Code:
 ping -c1 -q $IP ;
ERROR= $?;
if [ $ERRO -gt 0 ];then 
echo "error on $IP...

Gruß Wolfgang
PS Die Ausgabe von Ping kannst du gegen /dev/null erden.

Vielen Dank für die Rückmeldung, was macht das nochmal genau? :hilfe2: Ich verstehe gerade nicht was der Code bewirken würde. Kannst du das bitte nochmal kurz ausführen?
 
Der Rückgabewert des Befehles (ping oder was auch immer) steht in der Variable $?.

War die Ausführung des Befehles erfolgreich ist der Rückgabewert 0.

Andernfalls größer als 0.
 

Ähnliche Themen

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

Keine grafische Oberfläche (Debian Installation)

Bashscript aus Debian6 läuft nicht auf Debian7

Zugriff auf Samba Fileserver Freigaben verweigert(Samba 4 Active Directory Domäne)

Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben

Zurück
Oben