
In der Exec=
Zeile eines Servicemenüs in KDE4 verwende ich normalerweise:
Exec=command %f
Ich frage mich also, ob es notwendig ist, das zu zitieren %f
, da ich nicht sicher bin, wie KDE4 die Menüdatei analysiert, d. h.
Exec=command "%f"
Antwort1
Ich habe mehrere Threads gefunden, in denen Leute die Argumente in Anführungszeichen gesetzt haben Exec=
. Ich glaube, Sie brauchen sie, wenn die Argumente, mit denen Sie arbeiten, Leerzeichen enthalten.
Beispielsweise dieser Thread mit dem Titel:Grundlagen der Shell-Skripterstellung: Wie leite ich doppelte Anführungszeichen weiter?.
Auszug
Ich versuche, einen Servicemenüeintrag für KDE zu erstellen, in dem ich die von mir ausgewählten unrar:s-Dateien eintrage. Ich füge Folgendes in die Servicemenüdatei ein:
Exec=/usr/bin/extract 1 %U
und in /usr/bin/extract habe ich:
if [ $1 = "1" ]; then unrar e "$2" fi if [ $1 = "2" ]; then unrar x "$2" fi
Es funktioniert einwandfrei, außer wenn der Dateiname Leerzeichen enthält.
Es scheint also, dass Sie auf die Verwendung von Anführungszeichen verzichten können, es sei denn, Sie haben es mit Folgendem zu tun:
- Pfade, die Leerzeichen enthalten
- Dateinamen, die Leerzeichen enthalten
- Befehlszeilenargumente, die Leerzeichen enthalten.