Como faço para que um arquivo .sh seja executado no terminal por padrão - problema ao usar o arquivo .desktop

5

Eu tenho um pequeno arquivo .sh que eu uso para converter lotes de arquivos de imagem. Eu apenas copio este pequeno arquivo para a pasta e o executo para converter todas as imagens na pasta. Isso funciona muito bem, mas me incomoda que traga a opção "Executar no Terminal / Exibir / Executar" todas as vezes.

Eu tentei criar um arquivo .desktop como visto em outras postagens, chamado convertpics.desktop :

[Desktop Entry]

Type=Application

Name=convertpics

Exec='/fullpath_to_script/convertpics.sh'

Terminal=true

Eu então defino o arquivo convertpics.desktop para executável. Agora, quando clico duas vezes em convertpics.desktop (agora mostrado apenas como convertpics ), ele executa o script, MAS o executa na minha pasta pessoal, em vez da pasta em que estou. Existe uma maneira de usar a pasta atual? como pasta de trabalho?

    
por J D 20.10.2012 / 21:35

1 resposta

2

Sua pergunta está faltando uma informação importante: você quer que o script seja executado a partir do nautilus, certo?

Ok, supondo que você queira fazer o seguinte (que não é exatamente o que sua descrição diz, mas está perto o suficiente):

  1. Use o nautilus (o gerenciador de arquivos) para navegar para uma pasta.
  2. Clique com o botão direito nessa pasta e execute um script com a pasta atual como um parâmetro

Veja como você pode fazer isso:

  • Crie seu script (por exemplo, no bash) e salve-o na pasta ~/.gnome2/nautilus-scripts/ .
  • No seu script, em vez do caminho do diretório, use "$ PWD"
  • Torne o script executável

Depois, você pode navegar para a pasta, clicar com o botão direito, ir para scripts, clicar no seu script e ele será executado na pasta atual.

Exemplo: O script infoHere.sh em ~/.gnome2/nautilus-scripts/ :

#!/bin/bash
echo "$* = $*" >> info.txt
echo "NAUTILUS_SCRIPT_SELECTED_FILE_PATHS = $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" >> info.txt
echo "NAUTILUS_SCRIPT_CURRENT_URI = $NAUTILUS_SCRIPT_CURRENT_URI" >> info.txt
echo "PWD = $PWD" >> info.txt

A execução deste script gerará um arquivo chamado info.txt com o conteúdo das variáveis de ambiente importantes que você pode usar em seu script.

Mais sobre os scripts do nautilus aqui:

Páginas Wiki do Ubuntu

Uma entrada de lista de discussão (onde o script de exemplo é inspirado)

    
por xubuntix 25.10.2012 / 13:49

Tags