O que é um exemplo de um script de shell genérico que será executado corretamente no terminal, mas não quando clicado duas vezes?

0

Eu realmente gostaria de entender os motivos subjacentes pelos quais alguns scripts funcionam na linha de comando, mas não quando clicam duas vezes.

Existe um exemplo de um script que faz algo simples, como fazer eco de uma variável ou algo assim, que reprodutivelmente funcionaria na linha de comando, mas depois falharia ao clicar duas vezes?

Para ser claro, quero dizer que deve ser executado em ambas as instâncias, mas quando clicado duas vezes, ele deve falhar ao executar sua tarefa corretamente, e deve fazer isso em qualquer instalação recente do Ubuntu. Espero que, ao reproduzir o comportamento, eu possa entendê-lo e corrigi-lo no futuro.

    
por Excrubulent 29.01.2017 / 00:10

1 resposta

4

Exemplo mais fácil:

  • crie um arquivo "test" e coloque

    #!/bin/bash
    echo "Hello World!"
    

    nele

  • torne-o executável com chmod 700 test
  • faça ./test na linha de comando e ele produzirá

    Hello world!
    

Do Nautilus:

  • padrão: doubleclick e ele será aberto como um arquivo de texto
  • quando definido como "executar arquivos de texto" nas preferências do Nautilus, ele piscará algumas vezes e, em seguida, não fará nada.

Mas este é o comportamento pretendido. Para o Nautilus, você precisaria criar um script que fizesse um "pop up" com o texto "Hello world!" nele.

Exemplo:

#!/usr/bin/python
import os
os.system('zenity --info --text="Hello world!!"')

mostraria ...

Apropósito:issotambémfuncionaapartirdalinhadecomandoquandovocêtemumdesktop.Emumttyelemostrariaumerro"Falha ao conectar-se ao Mir".

% bl0ck_qu0te%

Eu duvido que haja algo para consertar. Executar na linha de comando e executar no Nautilus são duas coisas diferentes.

    
por Rinzwind 29.01.2017 / 00:59