Remova o cifrão se for o primeiro caractere do comando colado

2

Ao dar exemplos de comandos de shell, as pessoas muitas vezes prefixarão cada linha com o $ para ilustrar que ele deve ser executado no terminal. Mais recentemente, encontrei-o em esta página do Github .

$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite

Quando estas linhas são triplamente clicadas, o sinal de dólar (sendo parte dessa linha) faz parte da seleção. Existe uma maneira de definir meu terminal (estou usando o Terminator) para que, se $ for o primeiro caractere de um comando, ignorá-lo?

    
por mhopkins321 18.05.2016 / 02:13

1 resposta

2

Eu me propus a responder a essa pergunta e acabou se tornando um pouco mais envolvida do que eu pensava. Com um pouco de magia bash:

    cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done

O que isto faz é imprimir o arquivo na saída padrão, lê cada linha, remove o primeiro caractere e armazena o resultado em $ OUTPUT, depois executa a linha em $ OUTPUT como um comando com eval. Tenha cuidado ao usar o eval, esse script executará um arquivo inteiro como comandos.

    
por MortyV 18.05.2016 / 04:22