Задать вопрос
Pegas12345
@Pegas12345

Не выполняется команда (alias) из .bashrc?

Привет!

Такой вопрос. Есть файл на /root/.bashrc на УБУНТУ, и в этом файле есть строка:

alias acl='php -f /home/scripts/acl.php'

Если зайти в терминал пользователем root, то команда acl не работает, не видит её вообще, но если просто выполнить команду su, она просто ещё раз зайдёт к этому же пользователю (root), и после этого acl срабатывает. Но по факту она должна была работать и при первом заходе. На других серверах всё работает как положено, только на одном не пойму в чём дело...
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Читайте man bash раздел Invocation.

Вкраце, при логине файл ~/.bashrc не читается.
В большинстве дистрибутивов чтение этого файла включают в ~/.profile или ~/.bash_profile.

Примерно так:
# ~/.profile

if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Проверяйте /etc/passwd, там в первой строке (у пользователя root) в конце строки указано :/bin/bash, верно?
Ответ написан
Pegas12345
@Pegas12345 Автор вопроса
Странно, с этим файлом ~/.bashrc нормально работают сейчас несколько серверов. Этот файл всегда сам создавался при установке системы и проблем не было, только один сервер сейчас капризничает. Всегда так делал.

Но ок, почитаю. попробую разобраться с "man bash".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы