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.