Al dar ejemplos de comandos de shell, las personas a menudo anteponen cada línea con el $
para ilustrar que se debe ejecutar en la terminal. Más recientemente lo encontré enesta página de Github.
$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite
Cuando se hace triple clic en estas líneas, el signo de dólar (que forma parte de esa línea) es, por supuesto, parte de la selección. ¿Hay alguna manera de configurar mi terminal (estoy usando Terminator) para que si $
es el primer carácter de un comando, lo ignore?
Respuesta1
Me propuse responder esta pregunta y resultó ser un poco más complicado de lo que pensaba. Con un poco de magia bash:
cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done
Lo que esto hace es imprimir el archivo en la salida estándar, leer cada línea, eliminar el primer carácter y almacenar el resultado en $OUTPUT, luego ejecuta la línea en $OUTPUT como un comando con eval. Tenga cuidado al usar eval, este script ejecutará un archivo completo como comandos.