Clique duas vezes em Linux Bash Script e depure com os comandos pause

2

Eu sou bastante bom com scripts windows .bat e normalmente uso o comando pause enquanto os desenvolvo para que eu possa ver as coisas passo a passo conforme o script é executado no prompt de comando. Eu estou tentando fazer algo semelhante com um arquivo de bash do Linux. Eu tenho uma festa muito simples, que pode ser vista abaixo ...

#!/bin/bash
echo Hello World!
read -p "Press [Enter] key to continue..."

Eu configurei o Nautilus (um programa de gerenciamento de arquivos Linux) para "Executar executáveis quando eles são clicados duas vezes", mas não vejo nada quando clico duas vezes no script. Preciso redirecionar a saída para o console ou algo assim?

Editar

Veja como consegui o que queria ...

  1. Crie um arquivo .sh (estou usando um de cima)
  2. Abra o Nautilus
  3. Clique em Editar - > Preferências - > Guia Comportamento
  4. Em "Arquivos de texto executáveis", escolha o botão "Perguntar a cada vez"

Agora, quando você clicar em arquivos .sh, você será solicitado com algumas opções. A opção "Executar no Terminal" faz exatamente o que eu quero. Obrigado a todos pelas contribuições!

    
por Jason 07.09.2014 / 20:47

2 respostas

2

Você precisa iniciar um terminal, que por sua vez inicia o script.

Tente isto:

#!/bin/sh
xterm -e "echo Hello World; read -p 'Press [Enter] key to exit ..."

Isso é, obviamente, impraticável para um script mais longo. Mas então você pode simplesmente fazer:

#!/bin/sh
xterm -e /home/user/scripts/thescript.sh

e thescript.sh contém todos os comandos que você deseja usar. Certifique-se de que é executável ( chmod +x thescript.sh )

    
por 07.09.2014 / 21:04
1

Seu script precisa de um terminal para você interagir com ele. Uma maneira de fazer isso é o que o @Sebastian sugeriu . No entanto, observe que os scripts do bash não são realmente projetados para serem executados dessa maneira. Uma maneira mais limpa seria escrever um arquivo .desktop que inicia seu script e, em seguida, clique duas vezes em que . Algo como:

[Desktop Entry]
Exec=/home/user/yourscript.sh
Terminal=true
Type=Application

Salve esse arquivo como foo.desktop na sua pasta ~/Desktop . Isso agora aparecerá como um ícone lá e clicar duas vezes fará com que seu script seja executado em um terminal. Obviamente, você precisa alterar /home/user/yourscript.sh para o caminho real do seu script.

    
por 08.09.2014 / 17:57