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

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

Ao dar exemplos de comandos shell, as pessoas geralmente prefixam cada linha com o $para ilustrar que ela deve ser executada no terminal. Mais recentemente eu encontrei isso emesta 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 essas linhas são clicadas três vezes, o cifrão (fazendo parte dessa linha) faz parte da seleção. Existe uma maneira de configurar meu terminal (estou usando o Terminator) para que $seja o primeiro caractere de um comando, para ignorá-lo?

Responder1

Decidi responder a essa pergunta e acabou sendo um pouco mais complicado do que pensei. Com um pouco de magia bash:

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

O que isso faz é imprimir o arquivo na saída padrão, ler cada linha, remover o primeiro caractere e armazenar o resultado em $OUTPUT e, em seguida, executar a linha em $OUTPUT como um comando com eval. Tenha cuidado ao usar eval, este script executará um arquivo inteiro como comandos.

informação relacionada