Назад | Перейти на главную страницу

Редактирование файла .bash_profile не вступает в силу

Мне нужно поставить export PATH=$PATH:/opt/lampp/bin к моему ~/.bash_profile файл, чтобы mysql из командной строки работал в моей системе. пожалуйста, проверьте Командная строка mysql не работает для получения дополнительной информации об этом.

Я работаю в системе Fedora и вошел в систему как пользователь root.

Если я сбегу locate .bash_profile тогда я получаю это: -

/etc/skel/.bash_profile
/home/sam/.bash_profile
/home/sohil/.bash_profile
/home/windows/.bash_profile
/root/.bash_profile

Итак, я изменил /root/.bash_profile файл вроде этого: -

из

PATH=$PATH:$HOME/bin
export PATH

к

PATH=$PATH:/opt/lampp/bin
export PATH

Но изменение по-прежнему не вступает в силу - открытие новой консоли и запуск mysql снова говорит bash: mysql: command not found.

Однако бег export PATH=$PATH:/opt/lampp/bin в консоли заставляет его работать для этого сеанса. Итак, я делаю что-то не так с .bash_profile файл. Может быть, редактируется некорректный или выполняется некорректное редактирование.

Обновить

Перед тем как приступить к редактированию выше, я также попробовал, просто добавив export PATH=$PATH:/opt/lampp/bin в конце вот так: -

Из

PATH=$PATH:$HOME/bin
export PATH

к

PATH=$PATH:$HOME/bin
export PATH=$PATH:/opt/lampp/bin

Но это не сработало. Что мне не хватает?

Спасибо,
Сандипан

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

Попробуйте выйти и снова войти в систему, затем проверьте, .bash_profile изменения подобраны.

Просто ради главы и стиха это взято из справочной страницы bash:

   When bash is invoked as an interactive login shell, or as a  non-inter‐
   active  shell with the --login option, it first reads and executes com‐
   mands from the file /etc/profile, if that file exists.   After  reading
   that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
   in that order, and reads and executes commands from the first one  that
   exists  and  is  readable.  The --noprofile option may be used when the
   shell is started to inhibit this behavior.

   When a login shell exits, bash reads and  executes  commands  from  the
   file ~/.bash_logout, if it exists.

   When  an  interactive  shell that is not a login shell is started, bash
   reads and executes commands from ~/.bashrc, if that file exists.   This
   may  be inhibited by using the --norc option.  The --rcfile file option
   will force bash to read and  execute  commands  from  file  instead  of
   ~/.bashrc.

Если вы не хотите выходить из системы, чтобы применить изменения,

# source ~/.bash_profile

следует применить ваши изменения.