it-swarm.com.de

Das Shell-Skript wird beim Doppelklicken nicht ausgeführt

Ich habe ein Shell-Skript (test.sh) auf meinem Lubuntu (15.04) -Desktop erstellt. Berechtigungen sind: Nur Eigentümer (Inhalt anzeigen + Inhalt ändern + Ausführen).

Wenn ich auf test.sh doppelklicke, wähle ich "Execute in Terminal". Das Terminal (LXTerminal) wird geöffnet, das Skript wird jedoch nicht ausgeführt.

Wenn ich ./test.sh eingebe, wird das Skript ausgeführt. Aber das will ich nicht. Lösung für dieses Problem?

4
JohnDoe

Klingt so, als ob Ihrem Drehbuch eine Shebang-Zeile fehlt. Stellen Sie sicher, dass in der ersten Zeile des Skripts Folgendes steht:

#!/usr/bin/env bash

oder

#!/bin/bash

Außerdem sollten Sie vermeiden, die Erweiterung .sh in ein Bash-Skript einzufügen, da Bash nicht sh ist. Verwenden Sie vorzugsweise überhaupt keine Erweiterung.

3
geirha

Dies klingt nach einem bekannten, vorhandenen Fehler: lubuntu-default-settings gibt nicht den richtigen Befehl an, der im Terminal ausgeführt werden soll

Dieser Fehlerbericht schlägt die folgende Problemumgehung vor (stattdessen X-terminal verwenden).

Abhilfe:

Ändern Sie in den pcmanfm-Einstellungen auf der Registerkarte Erweitert das Terminal in "x-terminal-emulator -e %s". Sie können den "terminal" -Wert auch in ~/.config/libfm/libfm.conf ändern.

Eine alternative Problemumgehung, die ich zuvor verwendet habe, ist das Erstellen einer Desktopverknüpfung. In diesem Fall können Sie jedoch nur auf den Desktop doppelklicken.

Um eine Verknüpfung zu erstellen, können Sie den folgenden Befehl ausführen:

lxshortcut -o ~/Desktop/test.sh

(Wobei test.sh der Name ist, den die Datei auf dem Desktop haben soll.)

Dadurch wird lxshortcut geöffnet, wodurch eine .desktop-Datei aus Ihren Antworten in einer GUI erstellt wird.

Manuelles Erstellen einer .desktop-Datei sollte ebenfalls funktionieren .

1
drkokandy