Почему не работают команды bash-алиасов?

Вопрос или проблема

У меня проблема с алиасами bash в Kali linux. Давайте я расскажу всё с самого начала.

Я хочу настроить несколько команд, чтобы сэкономить время на их написание снова и снова. Поэтому я использовал

nano /.bash_aliases

и установил командную строку

alias up='sudo apt update && sudo apt full-upgrade'

затем я нажал Ctrl+V и нажал y, затем нажал Enter. Я закрыл терминал и открыл его снова. Когда я ввёл up и нажал enter, он показывает:

up: command not found

Затем я искал решение и нашёл одно, которое говорило делать так.

gedit .bashrc

В файле .bashrc это написано без каких-либо ‘#’

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Затем я открыл файл bash_aliases с этой командой

gedit bash_aliases

И написал это и сохранил…

alias up='sudo apt update && sudo apt full-upgrade'

и закрыл терминал. В новом терминале та же ошибка возникает. Команда не найдена. Я также сделал следующее, чтобы решить эту проблему:

  • перезагрузил свой ПК

  • полностью выключил и снова включил ПК

  • Попробовал несколько случайных решений, таких как

     source ~/.bashrc
     bash -i -c my_alias
    

Но я снова и снова находил ту же проблему. Вот скриншот на случай, если я забыл добавить какие-либо детали. Заранее благодарю.
Скриншот ошибки

объяснение

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
  • это означает если есть файл с именем .bash_aliases, то источник этого файла. . в bash то же самое, что и source, например:
    . .bash_aliases или source .bash_aliases, одно и то же, просто сокращение.
  • ~/ это сокращение для вашего домашнего каталога, то есть /home/agent/. Вы обращаетесь в корневом каталоге. Вот почему вы вошли как root в терминале. Когда вы обращаетесь к ~/.bash_aliases, ничего не происходит, потому что вы обращаетесь к файлу, в котором нет вашего алиаса up.
source /home/agent/.bash_aliases

решение

не делайте это как root, делайте это как ваш пользователь [agent]
a. удалите .bash_aliases из корневого / каталога

sudo rm /.bash_aliases 

b. откройте с помощью gedit ваш файл .bash_aliases в ДОМШНЕМ КАТАЛОГЕ и обратите внимание на . перед .bash_aliases

gedit /home/agent/.bash_aliases` #и добавьте ваш алиас
alias up='sudo apt update && sudo apt full-upgrade'

c. источник файл .bashrc и это автоматически источник .bash_aliases
(помните if [-f ~/.bash_aliases]; then в начале?)

source /home/agent/.bashrc

d. вы можете проверить ваши алиасы с помощью команды alias -p

.

Ответ или решение

Почему команды псевдонимов Bash не работают в Kali Linux?

Введение

Проблема с неработающими псевдонимами в Bash может возникнуть по различным причинам, особенно в системах на базе Linux, таких как Kali. Ваша ситуация, изложенная выше, помогает понять основные ошибки, которые могут привести к тому, что псевдонимы не будут корректно работать. В этой статье мы разберем шаги, которые необходимо предпринять, чтобы решить данную проблему.

Причины проблемы

  1. Неправильное расположение файла .bash_aliases:

    • Вы создали файл .bash_aliases в корневой директории /, а не в домашней директории вашего пользователя. Bash ожидает, что файл будет находиться в домашней директории пользователя (например, /home/agent/.bash_aliases).
  2. Неактивированное выполнение .bashrc:

    • В вашем файле .bashrc присутствует проверка на существование файла .bash_aliases. Если файл не найден (например, потому что вы его создали не в той директории), тогда псевдонимы не будут загружаться.
  3. Проблемы с сессией:

    • После изменения файлов конфигурации Bash может потребоваться перезагрузка терминала или использование команды source, чтобы изменения вступили в силу.

Решение проблемы

Чтобы исправить ситуацию с неработающими псевдонимами, выполните следующие шаги:

Шаг 1: Удалите неправильный файл

Удалите файл .bash_aliases, который был создан в корневой директории. Это можно сделать с помощью следующей команды:

sudo rm /.bash_aliases 

Шаг 2: Создайте правильный файл в домашней директории

Теперь откройте файл .bash_aliases в домашней директории вашего пользователя. Выполните:

gedit /home/agent/.bash_aliases

Добавьте в файл следующий псевдоним:

alias up='sudo apt update && sudo apt full-upgrade'

Сохраните изменения и закройте редактор.

Шаг 3: Активируйте псевдонимы

Теперь выполните следующую команду, чтобы обновить текущую сессию Bash и убедиться, что изменения вступили в силу:

source ~/.bashrc

Проверка псевдонимов

Для того чтобы удостовериться, что ваши псевдонимы работают, выполните команду:

alias -p

Это покажет список всех доступных псевдонимов в текущей сессии.

Заключение

Следуя вышеприведенным шагам, вы сможете устранить проблемы с неработающими псевдонимами в Bash на Kali Linux. Важно помнить, что файлы конфигурации Bash, такие как .bashrc и .bash_aliases, должны находиться в домашней директории пользователя, чтобы корректно функционировать. Надеемся, что данная информация будет полезна для вас и поможет наладить работу с командной строкой в будущем.

Оцените материал
Добавить комментарий

Капча загружается...