.desktop arquivo com variável de data não funciona

1
[Desktop Entry]
Version=1.0
Type=Application
Name=test
Exec=bash -c 'DATE=$(date +%Y%m%d) ; echo $DATE'
Terminal=true
Icon=utilities-terminal

quando clico duas vezes nele, nada acontece e não quero incluir outro script nele, o que devo fazer para corrigir essa frase?

    
por Thomas G. Lau 08.03.2017 / 11:54

1 resposta

4

Como devidamente apontado por steeldriver e muru, o padrão freedesktop especifica que os argumentos do tipo de arquivo usam % symbol, mas podem ser escapados via double % sign.

Um problema adicional no seu programa é que o gnome-terminal padrão será iniciado, mas saia imediatamente assim que o programa filho sair. No seu caso, bash -c sairia quando o eco estiver completo. Para manter o terminal aberto, você precisa adicionar outra chamada de shell. Além disso, você não precisa repetir a variável, você pode usar apenas date diretamente. Assim, seu arquivo editado seria assim:

[Desktop Entry]
Version=1.0
Type=Application
Name=test
Exec=bash -c 'echo "TEST";date +%%Y%%m%%d;bash'
Terminal=true
Icon=utilities-terminal

Como você pode ver na captura de tela, a segunda chamada para o shell mantém a janela aberta e exibe o timestamp:

Veja também:

por Sergiy Kolodyazhnyy 09.03.2017 / 00:17