Linux .sh
Hallo,
ich wollte grade eine .sh Datei mit dem terminal bei ubuntu ausführen nur leider öffnet sich die Datei automatisch mit gedit. Wie kann ich diese Datei jetzt im terminal ausführen?
Mit freundlchen Grüßen
Flooorii
8 Antworten
Hallo
Wie kann ich diese Datei jetzt im terminal ausführen?Rechtsklick → "ausführen mit" → Terminal
Dazu muss die Datei natürlich auch ausführbar sein
man chmod
erklärt Dir wie das geht.
Linuxhase
Seltsam das hier manche Antworten verloren gehen. Kritikfähigkeit sollte man haben, erst recht wenn diese berechtigt ist.
Hallo,
du musst das Terminal mit Strg-Alt-T öffnen und dann cd (nach dem cd musst du dass Verzeichnis in dem du dass Programm gespeichert hast eingeben) im Terminal eingeben!
als nästes: sudo chmod +x (und dann dein Programmnamen eingeben!)
und dann folgendes im Terminal eingeben:
bash (und dann wieder deinen Programm namen!)
Mit freundlichen Grüßen
Lonnie Schemann
auf eine Datei kann man keinen Doppelklick machen, den macht man auf einen Namen, der in irgendeinem Fenster oder Button oder Menü steht.
Genau das Programm, das diese Grafik erzeugt, muss auch deine Script-Datei ausführen können.
Du musst schon sagen, welches Programm den Dateinamen anzeigt. In einem Terminal wirst du wenig mit einem Doppelklick anstellen können. In einem Terminal werden keine Maus-Aktionen ausgewertet. Du kannst den Namen nur dort schreiben ( auch mit der Maus hinein kopieren, das macht aber nicht das Terminal) und dann mit Enter starten. Dabei gibt es aber Bedingungen:
-
die Datei muss ausführbar sein ( das execute-Flag ist dann gesetzt ) oder du startest es mit
bash "DateiName"
-
wenn sich die Datei nicht in dem Verzeichnis befindet in dem du dich gerade befindest, ( pwd ) zeigt das an, dann muss sie im Suchpfad stehen, der Pfad muss in der Variablen PATH eingeragen sein ( echo $PATH zeigt das an )
Die meisten Distributionen haben die Möglichkeit, bestimmten Erweiterungen ein Anwendungsprogramm zuzuordnen.
Bei dir scheint das der Editor "gedit" zu sein ...
Allerdings paßt das nicht zum Terminal!
Im Terminal gelten andere Randbedingungen (PATH, Execute-Flag) ... beschrieben hier an anderer Stelle.
Die Zuordnung für eine Aktivierung per Maus macht man meist mit Rechter Maustaste und dem dann erscheinenden Eigenschaften-Dialog: "Öffnen mit ..." und "immer" (oder so).
Ob die Aktivierung mit Einfach- oder Doppel-Klick (im Datei-Manager) geschieht, ist auch einstellbar ...
Manche Distributionen haben - als Konzession an Windows-Umsteiger - den Doppel-Klick voreingestellt.
Ich finde das nicht gut! Es ist wohl nicht zuviel erwartet, daß sich Neulinge mit der lange Jahre üblichen Bedienung vertraut machen!
Zumal es nun auf einmal notwendig erscheint, eine Erweiterung zu haben!
Ich kenne noch die Zeiten bei Suse, wo man eine beliebige Datei per einfachem Klick automatisch mit der richtigen Anwendung öffnete!
Schließlich haben sogut wie alle Dateien diese Information in den ersten 1024 Bytes gespeichert.
Wer's nicht glaubt, möge mal eine PDF-Datei mit vim(vi) öffnen ...
Erst durch die bescheuerten Heinis, die meinen, man müßte Linux an Windows anpassen, funktionieren manche Anwendungen nicht mehr (oder nicht korrekt), wenn keine Erweiterung vorhanden ist ... oder eine falsche!
Früher wurde die Datei "Xyz.txt" automatisch mit einem PDF-Programm geöffnet, wenn es eine PDF-Datei war!
sh Dateiname.sh
oder
bash Dateiname.sh
Es gibt noch einen dritten Weg, dazu muss sich ein korrektes Shebang in der ersten Zeile der Script-Datei befinden und die Datei muss als ausführbar markiert sein.
Wenn ich Scripte mit einem Klick ausführen möchte, dann verschiebe oder kopiere ich immer sie nach:
/usr/local/bin
Die Script müssen natürlich ausführbar sein usw...
Dann erstellst Du einen Starter oder Link der auf das Shell-Script in "/usr/local/bin" verweist.
Wenn Du dann auf den Starter klickst wird das Script ausgeführt.
Ja, im Terminal eingeben geht! Nur ich wollte eher Wissen wie das geht wenn ich Doppelklick of die .sh Datei mache das sich dann das Terminal öffnet.