Приводя примеры команд оболочки, люди часто ставят перед каждой строкой префикс , чтобы $
проиллюстрировать, что ее следует запускать в терминале. Совсем недавно я столкнулся с этим наэта страница Github.
$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite
При тройном щелчке по этим строкам знак доллара (будучи частью этой строки) конечно же является частью выделения. Есть ли способ настроить мой терминал (я использую Terminator) так, чтобы если $
это первый символ команды, игнорировать его?
решение1
Я решил ответить на этот вопрос, и он оказался немного сложнее, чем я думал. С небольшой магией bash:
cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done
Это делает следующее: выводит файл на стандартный вывод, считывает каждую строку, удаляет первый символ и сохраняет результат в $OUTPUT, затем запускает строку в $OUTPUT как команду с eval. Будьте осторожны при использовании eval, этот скрипт запустит целый файл как команды.