Shell Datei (.sh) mit Doppelklick ausführen?

4 Antworten

Das kommt auf deinen File Manager an, aber vermutlich musst du in den Berechtigungen für die Datei einfach ausführbar anhaken. Meistens wird die Datei ansonsten nicht als ausführbar behandelt.

Im Terminal geht das mit chmod +x

Woher ich das weiß:Berufserfahrung – Privat und beruflich damit zu tun

Lollol518 
Beitragsersteller
 04.08.2024, 11:42

Bei Eigenschaften ist der Haken bei ausführbar bereits... Jedoch öffnet sich weiterhin nur der Texteditor

0
BeamerBen  04.08.2024, 11:48
@Lollol518

Hast du in deinem Script ein Shebang und eine vernünftige Dateiendung (zb .sh für Shell Scripte)?

Gibt auf Linux verschiedene Dateimanager, die anders funktionieren, deswegen kann man das nur vermuten.

Vielleicht weis es jemand wenn du zb die Distro dazu schreibst und jemand den Dateimanager von dieser Distro besser kennt.

0
Lollol518 
Beitragsersteller
 04.08.2024, 11:55
@BeamerBen

Die Datei endet normal auf .sh

Ich nutze Zorin OS, falls das weiter hilft

0
Schildkroete613  04.08.2024, 14:03
@Lollol518

Vielleicht rechtsklick und beim öffnen mit Terminal als Standard auswählen. Viele Grüße

0

Dafür musst du die Datei ausführbar machen. Bei mit unter KDE mit Dolphin geht das in den Dateieigenschaften unter "Berechtigungen":

Bild zum Beitrag

Im Terminal wäre das mit

chmod +x DATEINAME

möglich. "DATEINAME" natürlich durch den entsprechenden Dateinamen ersetzen 😜

Danach sollte sich das Skript per Doppelklick ausführen lassen. Wichtig dafür wäre aber auch zu wissen, welche Desktop-Umgebung du benutzt.

 - (Linux, Shell)

Lollol518 
Beitragsersteller
 04.08.2024, 11:40

Was ist mit Desktop Umgebung gemeint? Also so Ubuntu, Linux Mint oder was anderes?

0
julihan41  04.08.2024, 11:42
@Lollol518

Nein, damit ist sowas wie GNOME, KDE, Cinnamon gemeint. Denn man kann bei Ubuntu bspw. auch KDE installieren und so weiter, und diese bringen dann ein eigenes Set an Applikationen (in diesem Fall den Dateimanager) mit. Aber das wäre ein Thema für sich.

Mit dem Namen der Distribution kann man die Desktop-Umgebung meist abschätzen. xD

0
Lollol518 
Beitragsersteller
 04.08.2024, 11:44
@julihan41

Okay... Jedenfalls der Haken ist bei Ausführbar gesetzt, aber es öffnet sich weiterhin nur der Texteditor... Gibt es dafür eine Lösung?

0
julihan41  04.08.2024, 11:54
@Lollol518

Kannst du mir gerade deine Distribution bzw. Desktop-Umgebung nennen, bitte? 🙃

0
Lollol518 
Beitragsersteller
 04.08.2024, 11:58
@julihan41

Tut mir leid... Ich verstehe noch nicht so ganz was das ist 🫠 Kannst du das nochmal genauer erläutern?

0
julihan41  04.08.2024, 13:29
@Lollol518

Welches Linux hast du dir denn installiert? Ubuntu? Linux Mint?

0
CuteOtter  06.08.2024, 16:16
@Lollol518

Eigentlich nicht. Aber wenn du mir sagst, welche Distribution (Ubuntu, Linux Mint, ...) du verwendest, kann ich dir mit recht hoher Wahrscheinlichkeit sagen, welche Umgebung du verwendest. Die Umgebung ist die Benutzeroberfläche, also wie das Betriebssystem für dich aussieht.

0

Eine andere Möglichkeit wäre die Shell Skript Datei irgendwo auf deinem System, bei auführbaren Dateien abzulegen. (/usr /bin ~/.local) etc.

Dann erstellst du dir ein sogenanntes .desktop File. In diesem gibst du dann den Pfad zum Skript an. Kannst auch noch Icon und andere Dinge einstellen.

[Desktop Entry]
Version = 1.5
Type =		Application
Name =		Linphone
GenericName =	Telephony client
GenericName[de]=Telefon
Comment =	A libre SIP client
Comment[de] =	Ein freies SIP-Telefon
#	Ikon liegt im Ordner ~/.icons/
Icon =		linphone-logo.png
Categories =	Office;Telephony;
MimeType =	x-scheme-handler/sip-linphone;x-scheme-handler/sip;x-scheme-handler/sips-linphone;x-scheme-handler/sips;x-scheme-handler/tel;x-scheme-handler/callto;
OnlyShowIn =	GNOME;XFCE;

Terminal =	false
Exec =		linphone %F
StartupNotify =	true

So könnte das desktop file aussehen. Wichtig ist Exec da dies den Pfad zur Datei die gestartet werden soll angibt. Den Rest kannst du teilweise löschen. Google am besten mal danach um zu sehen was alles möglich ist damit.

LG. Und viel Erfolg 🍀

Unter unixartigen Systemen ist die Dateiendung völlig egal. Du brauchst im Script einen „Shebang", der dem System sagt, wie die Datei ausgeführt werden muss. Trage dazu als erste Zeile folgendes ein:

#!/usr/bin/env sh

Wenn dein Script Bash-Erweiterungen enthält, schreibe „bash“ statt „sh“. Ganz allgemein steht hier das Programm, mit dem das Skript abgearbeitet werden soll. Das klappt auch für Python, PHP und andere Interpreter, die Textdateien abarbeiten können.

Zusätzlich muss die Datei das Executable-Flag gesetzt haben:

chmod +x myscript