Was kann der Grund sein warum mein Ubuntu meine Bash Skripte als EXEC und nicht als .sh ?
Hallo Ich habe Bash-Skripte aber warum sieht Linux Ubuntu diese Dateien als EXEC an und nicht als .sh ? obwohl ich am Anfang "#!/bin/bash" der Datei geschrieben habe ?
Was meinst Du mit "als EXEC ansehen?"
die Dateityp
Hast du die Datei mit der Dateiendung ".sh" abgespeichert?
jap habe ich
2 Antworten
Es gibt keinen Dateityp EXEC in Linux. Linux kennt im wesentlichen Dateien, Verzeichnisse, Devices, Links, Sockets und Pipes als Dateitypen. Also wer behauptet dass die Datei "EXEC" sei?
Was ist denn der Output von file script.sh?
kuar@mimir:[~] $ file test.sh
test.sh: Paul Falstad's zsh script, ASCII text executable
So als Beispiel...
Ja, das bezeichnet alle Dateien, die das +x Flag (Executable) gesetzt haben.
achso. Aber warum passiert da bei .sh Eintrag nichts ?
verstehe ich nicht :/ da ist halt extra ein Eintrag für .sh Dateien
Es ist wichtiger zu sehen, was ausführbar ist, damit man nicht aus versehen etwas ausführt, was man nicht ausführen wollte als dass .sh Dateien farbig markiert sind.
Dateien ohne dem +x Flag kann man auch gar nicht ausführen. Die Farbe ist natürlich trotzdem zur Unterscheidung nützlich.
Ich verstehe nicht so ganz, was du unter "als EXEC ansehen" verstehst.
Im Normalfall legt man einfach eine Datei vom Typ .sh an, schreibt in die erste Zeile #!/bin/bash und macht die File ausführbar, z.B. so:
chmod +x script.sh
Dann sollte man das Skript ausführen können.
in der /.dircolors Datei gibt es halt eine Zeile die heißt : EXEC. hab da die Farbe geändert und die Ausgabe von den .sh Skripte wurde geändert. Und ja es gibt zwar eine Zeile die heißt ".sh" aber irgendwie reagiert das system nicht drauf und die Bash Dateien werden nicht entsprechend gefärbt ( beI Ausgabe von ls) im Gegensatz zu "EXEC"
Ausgabe:
Projekt.sh: Bourne-Again shell script, ASCII text executable
in der /.dircolors Datei gibt es eine Zeile die heißt : EXEC