Разве.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
файл.
Несколько вещей, на которые стоит обратить внимание:
Файлы.bashrc не "запускаются", поэтому, если вы посмотрите список процессов, вы его нигде не увидите, и это нормально.
bash читает файл bashrc при запуске, поэтому, если вы внесете изменения в файл bashrc, они не вступят в силу до следующего запуска bash. Когда вы тестируете изменения в вашем файле bashrc, вы можете легко увидеть изменения, просто запустив bash снова (например, откройте терминал и введите "bash"). Изменения также будут зафиксированы, когда вы выйдете из Ubuntu, а затем снова войдете в систему (блокировка экрана или переход в режим ожидания не будут работать, но выйдет из системы или перезагрузится).
Ваш файл.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
Это должно сделать это....