Linux .sh

8 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

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:

  1. die Datei muss ausführbar sein ( das execute-Flag ist dann gesetzt ) oder du startest es mit

     bash "DateiName"
  2. 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 )

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Flooorii 
Fragesteller
 22.05.2014, 16:29

Danke für deine Antwort

0

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!

Woher ich das weiß:eigene Erfahrung – Intensive Beschäftigung hiermit seit etlichen Jahren

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.


Flooorii 
Fragesteller
 18.05.2014, 15:53

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.

0
BrilleHN  18.05.2014, 16:03
@Flooorii

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.

1