Разве.bashrc не должен запускаться каждый раз, когда я вхожу в систему?

Новичок в Ubuntu, так что прости, если я что-то странно произнесу... Все, что я действительно хочу сделать, это изменить мою команду ls на ls --color=always -ragX

Получил, что решил... Псевдоним будет хорошо. Теперь, чтобы запускать его каждый раз, когда я вхожу (SSH из Putty в командную строку), я создал .bashrc в моем домашнем каталоге и вошел

alias ls='ls --color=always -ragX'

сохранен, вышел и вернулся в

набранный vi

выглядит как .bashrc файл не работает? Что теперь?

4 ответа

См. https://www.gnu.org/software/bash/manual/bashref.html.

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла, он ищет ~/.bash_profile, ~/.bash_login, а также ~/.profileв этом порядке, и читает и выполняет команды из первой, которая существует и доступна для чтения. Опция --noprofile может использоваться, когда оболочка запущена, чтобы запретить это поведение.

Обратите внимание, никаких упоминаний о ~/.bashrc выше.

Когда запускается интерактивная оболочка, которая не является оболочкой входа, Bash читает и выполняет команды из ~/.bashrc, если этот файл существует. Это может быть запрещено с помощью параметра --norc. Опция --rcfile file заставит Bash читать и выполнять команды из файла вместо ~/.bashrc.

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

Кроме того, вы можете добавить это к вашему ~/.bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc

В Ubuntu bash логин работает так же, как и в других дистрибутивах.

Как только вы добавите псевдоним в ваш.bashrc, как вы это сделали с помощью:

alias ls='ls --color=always -ragX'

Чтобы ls запускался автоматически при каждом входе в систему, вы можете просто добавить его в последнюю строку вашего .bashrc файл.

Если вы не видите вывод ls или же ls --color=always -ragX при входе в систему возможно ошибка в вашем .bashrc файл.

Несколько вещей, на которые стоит обратить внимание:

  1. Файлы.bashrc не "запускаются", поэтому, если вы посмотрите список процессов, вы его нигде не увидите, и это нормально.

  2. bash читает файл bashrc при запуске, поэтому, если вы внесете изменения в файл bashrc, они не вступят в силу до следующего запуска bash. Когда вы тестируете изменения в вашем файле bashrc, вы можете легко увидеть изменения, просто запустив bash снова (например, откройте терминал и введите "bash"). Изменения также будут зафиксированы, когда вы выйдете из Ubuntu, а затем снова войдете в систему (блокировка экрана или переход в режим ожидания не будут работать, но выйдет из системы или перезагрузится).

  3. Ваш файл.bashrc должен находиться в вашем домашнем каталоге. Вы можете проверить это, отредактировав файл как vi ~/.bashrc а не просто vi .bashrc

Как уже сказал Муру, по умолчанию (после первого входа в систему) должен быть файл.bashrc в вашем домашнем каталоге / home / youloginname

Чтобы защитить существующий bashrc, создайте копию с помощью следующей команды.

cp ~/.bashrc ~/mybashrc.backup

После этого вы можете восстановить.bashrc по умолчанию, для этого сначала удалите существующий, а затем скопируйте его из общесистемного bashrc. Если это еще не сделано, установите правильное разрешение для файла.

rm ~/.bashrc
cat /etc/bash.bashrc > ~/.bashrc
chmod 644 ~/.bashrc

После этого внесите изменения в файл.bashrc у себя дома. Когда вы закончите, вам не нужно выходить из системы, входить в систему или даже перезапускать. Просто перезагрузите bashrc с помощью следующей команды

source ~/.bashrc

Это должно сделать это....

Другие вопросы по тегам