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

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

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

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

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

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

напечатанныйvi

похоже, .bashrcфайл не запущен? ЧТО ТЕПЕРЬ?

решение1

Видетьhttps://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

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

Обратите внимание, что вышеизложенное не упоминается ~/.bashrc.

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

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

В качестве альтернативы вы можете добавить это в свой~/.bash_profile

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

решение2

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

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

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

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

решение3

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

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

cp ~/.bashrc ~/mybashrc.backup

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

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

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

source ~/.bashrc

Этого должно хватить...

решение4

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

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

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

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

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

Связанный контент