В этой статье мы собрали такие команды bash, о которых знают лишь некоторые – настоящие гуру консоли. Давайте разбираться.
Это не bash для новичков, но и не супер-секретные материалы. Возможно, вы уже слышали о некоторых из этих команд. Проверим?
Зачастую консольные скрипты используются как клей, для автоматизации простейших одноразовых заданий. В этой подборке представлены 10 “скрытых” функций bash, которые повысят вашу производительность и прокачают уровень владения консолью.
Начнем команды bash с простого. alt-. – самая полезная комбинация: попробуйте и убедитесь в этом. По каким-то причинам мало кто ней не знает. Используйте ее, чтобы выбрать более старые параметры. Она просто незаменима если вы хотите сделать что-то другое с тем, что использовали недавно.
Если вы хотите, чтобы процесс продолжался даже после выхода из системы, используйте это:
Полезная встроенная функция. В отличие от nohup, вы можете использовать disown в уже запущенном процессе. Прекратите работу с помощью control-Z , получите pid из ps (или используйте echo $! ), используйте bg для отправки в фоновый режим, затем используйте disown с флагом -h . Не забудьте о работе в фоне, иначе все прекратится после выхода.
В частности расширение параметра:
Команды bash также включают в себя перезапуск предыдущей команды:
- Ctrl + r начинает обратный инкрементный поиск по истории введенных команд. После того, как вы продолжите ввод, она выдаст последнюю команду, содержащую то, что вы ввели.
- Tab закончит введенное слово, если оно однозначно.
- Tab Tab выведет все возможные варианты конца введенного слова.
- Alt + * вставит все возможные окончания, которые могут быть полезны, например, если вы только что ввели деструктивную команду с символами подстановки.
- Ctrl + Alt + e выполняет alias, историю и расширение консоли в текущей строке. Иными словами текущая строка будет отображена так же, как если бы она была обработана консолью.
Существует возможность выборочного доступа к введенным командам и аргументам с помощью оператора ! . Это очень полезно при работе с длинными путями
Проверить свои последние команды можно через history.
Вы можете использовать предыдущие команды с ! , где n индекс команды в history, отрицательные числа считаются в обратном порядке, начиная с последней команды в истории.
Вы можете использовать предыдущие аргументы с помощью. 0 это команда, >=1 это аргументы.
Вы можете сочетать обе, используя !:
Вы также можете использовать диапазон аргументов !:-
Другие специальные модификаторы ! :
* для всех аргументов
^ для первого аргумента (!:1==!^)
$ для последнего аргумента
Использование -x позволяет увидеть что происходит в скрипте:
Каждый раз при ссылке на этот параметр отображается количество секунд прошедших с момента вызова консоли. Если SECONDS было присвоено значение, то возвращаемое число будет состоять из секунд, прошедших со времени присвоения, и из числа, которое было присвоено.
Случайное генерирование специальной переменной:
Эта команда позволяет вводу перестать быть чувствительным к регистру. Это очень вам поможет во время быстрого набора директорий путей, особенно на Mac, где файловая система изначально не чувствительна к регистру. Например, можно поместить .inputrc в мою домашнюю папку.