Удалить знак доллара, если он является первым символом вставленной команды.

Удалить знак доллара, если он является первым символом вставленной команды.

Приводя примеры команд оболочки, люди часто ставят перед каждой строкой префикс , чтобы $проиллюстрировать, что ее следует запускать в терминале. Совсем недавно я столкнулся с этим наэта страница 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, этот скрипт запустит целый файл как команды.

Связанный контент