Здарова! У меня на машине имеется пачка всяких alias’ов для продуктивной работы. К примеру есть такой
Я привязал команду cat к нужной мне утилите. В данном случае это batcat. Про нее я рассказывал в предыдущих постах.
Все работает отлично, но что мне делать когда требуется деактивировать этот alias и воспользоваться чистой командой cat?
Ты скажешь - дак залезь в файл ~/.bashrc/.zshrc да закомментируй всю эту срамоту. Справедливо! Но это какое-то топоровое решение.
Есть несколько вариантов как это осуществить нативно и красиво. Ща покажу.
Посмотреть все прописанные alias, можно через одноименную команду alias, выведется полный список.
Первый вариант
Перед командой ставим символ «\»:
Второй вариант
Помещаем команду в кавычки, хоть в двойные хоть в одинарные:
Третий вариант
Капитанский вариант с указанием полного пути к команде:
Чтобы узнать полный путь к команде, воспользуйся одним из этих способов, они очень часто встречаются в bash скриптах, я приводил пример в этом посте.
С помощью команды command
Пятый вариант
Этот вариант пожалуй более глобальный, который отключает алиасы в текущем сеансе. Не удаляет, а именно «анлиасит» в текущей сессии.
А чтобы вообще дропнуть все алиасы в текущей сессии, запускай такое:
Я использую первый вариант, он достаточно быстрый и менее трудозатратный. Ну а если что-то дебажу, то применяют пятый вариант. Для чистоты экспериментов, чтобы на грабли не наступить там где не нужно.
С пятницей коллеги! Хороших тебе предстоящих выходных и береги себя! Пойду дальше мемы для Псины рисовать, забегай если скучно.
Спасибо всем проголосовавшим в этом посте, большинство ЗА, так что в ближайшее время прикручу комменты. Но терзают меня пока сомнения, в общем решим этот вопрос. Увидимся!
tags: #bash #linux
—
💩 @bashdays
alias cat='batcat’
. Я привязал команду cat к нужной мне утилите. В данном случае это batcat. Про нее я рассказывал в предыдущих постах.
Все работает отлично, но что мне делать когда требуется деактивировать этот alias и воспользоваться чистой командой cat?
Ты скажешь - дак залезь в файл ~/.bashrc/.zshrc да закомментируй всю эту срамоту. Справедливо! Но это какое-то топоровое решение.
Есть несколько вариантов как это осуществить нативно и красиво. Ща покажу.
Посмотреть все прописанные alias, можно через одноименную команду alias, выведется полный список.
Первый вариант
Перед командой ставим символ «\»:
# \cat /tmp/test.txtИ всё! Теперь в моем случае alias с batcat проигнорирован и сработала нативная утилита cat. Красота!
Второй вариант
Помещаем команду в кавычки, хоть в двойные хоть в одинарные:
# 'cat' /tmp/test.txtРезультат будет таким же, как и в первом варианте. Алиас заигнорится, запустится коробочный cat.
# "cat" /tmp/test.txt
Третий вариант
Капитанский вариант с указанием полного пути к команде:
# /usr/bin/cat /tmp/test.txtНу тут всё логично, я четко указал что и откуда запускать. Алиасы в пролете. Нативочка в профите.
Чтобы узнать полный путь к команде, воспользуйся одним из этих способов, они очень часто встречаются в bash скриптах, я приводил пример в этом посте.
whereis catЧетвертый вариант
which cat
type -a cat
С помощью команды command
# command cat /tmp/test.txtКоманда command заставляет оболочку рассматривать указанную команду и аргументы как простую команду, подавляя поиск функций оболочки, или отображает информацию о заданных командах.
Пятый вариант
Этот вариант пожалуй более глобальный, который отключает алиасы в текущем сеансе. Не удаляет, а именно «анлиасит» в текущей сессии.
# unalias catХаба-хаба и всё! Теперь у нас в текущей сессии чистый cat, без хвостатых мышек сюси.
А чтобы вообще дропнуть все алиасы в текущей сессии, запускай такое:
# unalias -aНу вот и все, теперь вообще никаких alias’ов нет, голый король. Ну а чтобы не перезапускать сессию и восстановить как было, делаем так:
source ~/.bashrcВозможно в природе есть еще какие-то варианты, но тебе и этих пяти штук будет за глаза.
source ~/.zshrc
Я использую первый вариант, он достаточно быстрый и менее трудозатратный. Ну а если что-то дебажу, то применяют пятый вариант. Для чистоты экспериментов, чтобы на грабли не наступить там где не нужно.
С пятницей коллеги! Хороших тебе предстоящих выходных и береги себя! Пойду дальше мемы для Псины рисовать, забегай если скучно.
Спасибо всем проголосовавшим в этом посте, большинство ЗА, так что в ближайшее время прикручу комменты. Но терзают меня пока сомнения, в общем решим этот вопрос. Увидимся!
tags: #bash #linux
—