web-dev-qa-db-fra.com

Supprimer le signe dollar s'il s'agit du premier caractère de la commande collée

Lorsqu'ils donnent des exemples de commandes Shell, les gens préfixent souvent chaque ligne avec le $ afin de l'illustrer. Elle doit être exécutée dans un terminal. Dernièrement, je l'ai rencontré sur cette page Github .

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

Lorsque ces lignes sont triple-cliquées, le signe dollar (faisant partie de cette ligne) fait bien sûr partie de la sélection. Existe-t-il un moyen de paramétrer mon terminal (j'utilise Terminator) pour que, si $ soit le premier caractère d'une commande, l'ignorer?

2
mhopkins321

Je me suis mis à répondre à cette question et cela s’est avéré un peu plus compliqué que je ne le pensais. Avec un peu de magie bash:

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

Cela permet d'imprimer le fichier sur la sortie standard, de lire chaque ligne, de supprimer le premier caractère et de stocker le résultat dans $ OUTPUT, puis d'exécuter la ligne dans $ OUTPUT en tant que commande avec eval. Soyez prudent lorsque vous utilisez eval, ce script exécutera un fichier entier sous forme de commandes.

3
madechai