[Desktop Entry]
Version=1.0
Type=Application
Name=test
Exec=bash -c 'DATE=$(date +%Y%m%d) ; echo $DATE'
Terminal=true
Icon=utilities-terminal
quand je double-clique dessus, rien ne se passe et je ne veux pas envelopper un autre script dessus, que dois-je faire pour réparer ce one-liner?
%
, ce sera donc%%Y%%m%%d
%
pour des codes de champ spéciaux tels que%F
(liste des fichiers à transmettre à l'application), etc. - voir La clé ExecRéponses:
Comme indiqué à juste titre par steeldriver et muru, le standard freedesktop spécifie que les arguments de type de fichier utilisent un
%
symbole, mais peuvent être échappés via un double%
signe.Un problème supplémentaire dans votre programme est que la configuration par défaut
gnome-terminal
sera lancée, mais quitte immédiatement après la sortie du programme enfant. Dans votre cas,bash -c
quitterait une fois l'écho terminé. Afin de maintenir le terminal ouvert, vous devez ajouter un autre appel shell. De plus, vous n'avez pas besoin de faire écho à la variable, vous pouvez simplement l'utiliserdate
directement. Ainsi, votre fichier modifié ressemblerait à ceci:Comme vous pouvez le voir sur la capture d'écran, le deuxième appel à shell maintient correctement la fenêtre ouverte et affiche l'horodatage:
Voir également:
la source