• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Einfaches Bash-Script, wie?

S_O

Member
Wie kann ich ein ganz einfaches bach-script erstellen, das aus drei Teilen besteht (die Dateien sind fest eingestellt, es werden keine Parameter übergeben, das ist für ein cronjob):

programm datei1 datei2
cp datei2 datei1
rm datei2

Ich habe einfach folgendes gemacht:
Code:
#! /bin/bash

programm datei1 datei2
cp datei2 datei1
rm datei2
Aber wenn ich das starte kommt ": bad interpreter: No such file or directory"
Was mache ich falsch?
 
A

Anonymous

Gast
fehler ist in der ersten zeile...
aktuell:
Code:
#! /bin/bash
korrekt:
Code:
#!/bin/bash
Kein Leerzeichen!

Gruß
Loci
 
OP
S

S_O

Member
Habe das Leerzeichen entfernt, funktioniert leider immer noch nicht, genau die gleiche Fehlermeldung.
 
OP
S

S_O

Member
was liefert dir der Befehl

which bash
/bin/bash

Ich habe mein Script zum testen erstmal verkürzt, es sieht 100% so aus:
Code:
#!/bin/bash

htaban /home/test1.txt /home/test2.txt
Wenn ich das einfach so eingebe in der Kommandozeile macht er es ohne Probleme.
 

admine

Ultimate Guru
Hi,

das Script steht vermutlich nicht in einem Verzeichnis, welches in deiner Path-Variable enthalten ist.
Starte mal das Script aus dem Verzeichnis, in dem es steht, so:
Code:
./script
 

oc2pus

Ultimate Guru
hab mal gegoogelt:

>: bad interpreter : No such file or directory
Pourrais-tu nous montrer l'éventuelle ligne du fichier /etc/fstab qui
correspond à la partition sur laquelle se trouve ce script ?

Je m'explique :
Lorsque j'ai essayé la LFS, j'ai eu exactement le même message pour
lancer je ne sais plus quel script, et cela venait du fait que j'avais
monté la partition en question avec le flag 'user'.

extrait de 'man 8 mount' :
"
user Autoriser les utilisateurs ordinaires (non root) à
monter le système de fichiers. Ceci entraîne
l'utilisation des options noexec,
nosuid, et nodev (à moins qu'elles ne
soient explicitement surchargées, comme dans une
ligne d'option user,exec,dev,suid).
"

Is the partition the file located in use the -noexec mount option in the /etc/fstab file? For example, you may not be able to execute the script off a CD. Some directories may be mounted with the -noexec option such as external USB drives. This can also be a security precaution on other partitions with global write access, like /tmp and /var. (The principle of least access)

also was steht in der fstab drin zu der Partition wo du das script starten willst ?[/quote]
 
OP
S

S_O

Member
also was steht in der fstab drin zu der Partition wo du das script starten willst ?
Wie finde ich das heraus?

ich kann kein französisch, ich habe keine Ahnung was da steht.

Nachtrag:
Ich habe das Skript mal in ein anderes Verzeichnis verschoben (/opt), hier läuft es auch nicht.
 
OP
S

S_O

Member
Das ist alles was in meiner fstab steht:
Code:
proc  /proc       proc    defaults    0       0
none  /dev/pts    devpts  rw          0       0
 

oc2pus

Ultimate Guru
was macht dieses "Wunderscript" denn bei
bash deinscript

ändere mal /bin/bash in /bin/sh um; in deinem script ist das egal, du nutzt keine bash-Spezifika
 
OP
S

S_O

Member
Super jetzt läufts, auch wenn sich am text nichts geändert hat, es scheint das er windows-zeichensatz/zeilenumbrüche nicht lesen kann.

Vielen Dank!
Das erste Problem mit meinen Server das bis jetzt erfolgreich gelöst ist - bleiben noch genug...
 

oc2pus

Ultimate Guru
S_O schrieb:
Super jetzt läufts, auch wenn sich am text nichts geändert hat, es scheint das er windows-zeichensatz/zeilenumbrüche nicht lesen kann.

Vielen Dank!
Das erste Problem mit meinen Server das bis jetzt erfolgreich gelöst ist - bleiben noch genug...

sag das doch gleich, ich hatte mich nicht getraut zu fragen, ob du das unter windows editiert hast ;(
 
Oben