Ist es notwendig, in den KDE4-Servicemenüs Anführungszeichen zu verwenden?

Ist es notwendig, in den KDE4-Servicemenüs Anführungszeichen zu verwenden?

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.

verwandte Informationen