Espera pela chave após as ações do nautilus no terminal

0

Eu preciso executar um script do nautilus-actions e, em seguida, aguardo qualquer entrada do usuário, que precisa ler o que o script fez antes de o terminal desaparecer.

Esta é a minha configuração atual de nautilus-actions :

  • Execução em tempo de execução: gnome-terminal -x sh -c COMMAND
  • Tornar executável:
    • Caminho: gksudo
    • Parâmetros: chmod +x %F

Esse script torna um arquivo executável ( +x ), mas eu gostaria de ver realmente a saída chmod , se houver, antes que o terminal seja fechado. Isso pode ser conseguido?

    
por frapontillo 24.11.2013 / 12:58

1 resposta

3

Você pode usar read (consulte a página man do seu shell) para fazer o terminal aguardar que o usuário pressione uma tecla para indicar que leu a saída. Infelizmente, read de dash é bastante limitado, por isso recomendo usar bash para isso.

read -s -n1 -p "Press any key to continue" imprimirá o prompt no terminal ( -p ), aguardará que qualquer tecla seja pressionada ( -n1 ) e finalmente sairá sem imprimir a chave inserida ( -s ).

Adicionar isso ao seu script fornece aos usuários todo o tempo necessário.

Atualizar : Para integrar o acima em nautilus-actions , crie um script bash que você pode usar como ação no diálogo de configuração.

O script teria que ser parecido com o seguinte.

#!/bin/bash
gksu chmod +x $1
read -s -n1 -p "Press any key to continue"

Chamar esse script com um nome de arquivo como primeiro parâmetro - assim como você fez antes com chmod - definirá o bit executável para esse arquivo e, em seguida, aguardará a entrada do usuário.

    
por drc 24.11.2013 / 13:16