shell script aus Dolphin mit Mausklick starten

Started by Nex, 2011/12/21, 16:56:07

Previous topic - Next topic

Nex

Hallo Community,

ich habe ein einfaches shell-Skript, das mir im aktuellen Verzeichnis ein paar Ordner anlegt und gewisse Dateien in die eben erstellten Ordner sortiert. Das Skript funktioniert auch soweit gut, wenn ich es mittels sh script.sh öffne. Nun hätte ich aber gerne, dass ich das Skript mit einem Klick aus Dolphin heraus starten kann, um nicht immer in einer Konsole oben genannten Befehl einzugeben. Klicke ich aber auf das Skript, passiert gar nichts (keine Konsole öffnet sich, noch werden die Ordner erstellt oder Dateien verschoben). Das Skript ist als ausführbar markiert. In den Dateizuordnungen ist *.sh eingetragen und als Programm ist Konsole zugewiesen. Da das Skript aufgerufen in einer Konsole ohne Probleme funktioniert, schließe ich einen Fehler hier aus.

Wo könnte ich noch schauen, um das gangbar zu machen? Was habe ich übersehen? Geht das überhaupt?

Ich benutze KDE 4.6.5 mit aktuellem DU (32bit).

Der Vollständigkeit halber hier ein Codeschnippsel aus dem Skript

#!/bin/bash
mkdir foo
mv *foo* foo/


Ich bin für jeden Tipp dankbar.

Grüße

cu

towo

Vielleicht solltest Du es einfach per chmod +x script.sh ausführbar machen?
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Nex

Hi towo,

danke für deine Antwort. Aber wie bereits in meinem Ausgangsposting steht, ist das Skript schon ausführbar. Dabei spielt es keine Rolle, ob ich es via "chmod +x ..." oder über "Rechtsklick -> Eigenschaften -> Berechtigungen -> Ausführbar" mache.

cu

cryptosteve

Klickst Du einfach so drauf, oder hast Du Dir eine *.desktop erstellt? Wenn *.desktop, rufst Du das Skript dann einfach so auf, oder vielleicht besser per "/bin/bash /path/to/script"?

Und braucht die Ausgabe ggf. ein Terminal? Dann vielleicht lieber über "xterm -e /bin/bash /path/to/script" starten?! Wäre eine Einbindung ins ServiceMenü nicht vielleicht schöner?

Edit: Nachtrag, welches Anwendungsprogramm hast Du *.sh zugewiesen? Das beträfe dann aber wohl alle .sh-Skripte
- born to create drama -
CS Virtual Travel Bug: VF6G5D

Nex

Hi steve,

danke für deine Antwort. Die Idee mit dem ServiceMenü ist natürlich genial und viel komfortabler. Das ich da nicht selbst drauf gekommen bin ... naja Wald und Bäume und so.

Aber zurück zu meinem eigentlichen Problem, das ja immer noch nicht gelöst ist (betrifft im Grunde nicht nur dieses Skript):

Quote from: "cryptosteve"Klickst Du einfach so drauf, oder hast Du Dir eine *.desktop erstellt? Wenn *.desktop, rufst Du das Skript dann einfach so auf, oder vielleicht besser per "/bin/bash /path/to/script"?

Ich klicke einfach so auf das Skript und habe keine *.desktop erstellt. Muss das so gemacht werden? Fände ich persönlich etwas umständlich :(

Quote from: "cryptosteve"Und braucht die Ausgabe ggf. ein Terminal? Dann vielleicht lieber über "xterm -e /bin/bash /path/to/script" starten?! Wäre eine Einbindung ins ServiceMenü nicht vielleicht schöner?

Die Ausgabe braucht kein Terminal und die Einbindung ins ServiceMenü ist tatsächlich schöner :)

Quote from: "cryptosteve"Edit: Nachtrag, welches Anwendungsprogramm hast Du *.sh zugewiesen? Das beträfe dann aber wohl alle .sh-Skripte

Als Anwendungsprogramm ist "Konsole" zugewiesen.

cu

ralul

- Rechtsklick in Dolphin auf DeinScript.sh
- "Typ shell Script" - ganz rechts auf den Schraubenschlüssel klicken
- Rechts Mitte/unten - Anwendung hinzufügen
- Hinzufügen:  /bin/bash
- Einordnen am Besten unter Kwrite
- OK

Das gilt aber dann für alle Shell-Scripte, auch ohne .sh am Ende. Auch gilt es für Shell-Script Dateien, die als "nicht-ausführbar" gesetzt sind, weswegen ich dazu rate diese Aktion als zweites (hinter Kwrite oder Kate) einzuordnen. Benutzung dann mit Kontextmenu: Öffnen mit: bash

---
Wenn Du Dein Script noch an anderen Plätzen gebrauchen kannst, dann mach als Root:
- Namen ausdenken, den es im PATH nicht geben wird, prüfen: which myXXX
- umbenennen
- cp myXXX /usr/local/bin/myXXX
- chmod +x /usr/local/bin/myXXX

Als Benutzer im Dolphin:
- im Ordner: Aktionen: Terminal hier öffnen
- myXXX
experiencing siduction runs better than my gentoo makes me know I know nothing