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?
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.