Führen Sie die Shell auf einem relativen Pfad im Ubuntu-Launcher aus

Führen Sie die Shell auf einem relativen Pfad im Ubuntu-Launcher aus

Ich habe diesen Launcher erstellt, der eine Shell ausführt:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=/full/path/server.sh
Name=MServer
Comment=foo
Icon=gnome-sudoku

Ich muss einen relativen Pfad ausführen, da ich den vollständigen Pfad nicht kenne:

Exec=server.sh

Aber der obige Code mit relativem Pfad funktioniert nicht. Wie kann ich ihn vom relativen Pfad aus ausführen?

Antwort1

DerPost@FedonKadifeli hat vorgeschlagen, es habe mir geholfen.

Die mögliche Lösung kann sein:

Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k

Erläuterung des Befehls:

Der folgende Codeausschnitt gibt den Verzeichnisnamen des Ausführenden und damit den Verzeichnisnamen des Launchers an.

$(dirname \\"\\$0\\")

Wenn Sie also den gewünschten Pfad anhängen, wird dieser als relativer Pfad ausgeführt.

verwandte Informationen