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








Комментарии