Eu vim com essa resposta para pessoas que querem usar bash no bom caminho. É claro que a resposta da pergunta está relacionada à listagem dos arquivos de /usr/share/applications
, mas o problema é que ls
command shouldn ' t ser analisado sempre . No passado eu estava cometendo o mesmo erro, agora eu aprendi que a melhor maneira é usar um loop for
para iterar os arquivos, mesmo que eu precise usar mais algumas teclas do meu precioso teclado:
for app in /usr/share/applications/*.desktop; do echo "${app:24:-8}"; done
Eu também usei no comando anterior operações de manipulação de string : removi app
first 24 caracteres que são /usr/share/applications/
e últimos 8 caracteres que são .desktop
.
Atualização:
Outro local onde você pode encontrar aplicativos mostrados pelo Dash é ~/.local/share/applications/*.desktop
. Então você precisa executar o seguinte comando também:
for app in ~/.local/share/applications/*.desktop; do echo "${app:37:-8}"; done
Para unificar os dois comandos anteriores, você pode usar:
for app in /usr/share/applications/*.desktop ~/.local/share/applications/*.desktop; do app="${app##/*/}"; echo "${app::-8}"; done