Я не слишком знаком с этим уровнем управления на сервере nix, однако я не могу получить ни bashrc, ни bash_profile в качестве источника при входе в систему.
Подробности о сервере:
Я вхожу в систему как пользователь, которого я создал в модуле Virtualmin через ssh и putty со своего компьютера с Windows. В .bash_profile есть следующее:
PATH=$PATH:$HOME/bin
export PATH
Я создал каталог bin в доме этого пользователя и поместил в него свое приложение, однако после выхода и входа в систему изменений нет. Я попытался добавить те же две строки в файл bashrc, когда увидел, что они не работают в профиле bash.
Пока я могу исправить ситуацию, набрав source .bash_profile, но это утомительно. Я думал, что могу сэкономить время, создав сценарий оболочки bash, но, увы, я не могу просто ввести ./script.sh. Я должен ввести source ~ / script.sh, чтобы он работал в текущей оболочке.
Как мне загрузить эти скрипты? Это что virtualmin отключает профили пользователей? Вход через ssh мешает им загрузиться? Это то, что установка Centos 6 с графическим интерфейсом отключает загрузку профилей в терминалы независимо от того, туннелируются ли они через ssh?
Спасибо вам за помощь.
Полное содержание профиля Bash:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Здесь у вас много вопросов, а нам предоставлено мало информации, чтобы продолжить. Но вот несколько попыток:
Первое, что я проверил бы, это увидеть, устанавливается ли вообще ваш PATH при входе в систему. Чтобы проверить это, войдите в терминал и введите echo $PATH
. Если то, что вы добавили, есть, тогда отлично, переходите к следующей проблеме. Если их там нет, я бы проверил, что вы действительно запускаете bash с echo $SHELL
. Если да, можете ли вы проверить, установлено ли НИЧЕГО в ~ / .bashrc или ~ / .bash_profile? Я нашел что-то безобидное и изменил его, затем выйду из системы и снова зарегистрируюсь, чтобы посмотреть, вступило ли это в силу (или просто добавил что-то вроде FOO="bar";export FOO
, затем проверьте его после входа в систему с помощью echo $FOO
). Если ваши .bashrc и .bash_profile не запускаются, я бы проверил, запускается ли .profile, а затем также проверю, есть ли / etc / profile и /etc/rc/bash.bashrc и вызывают ли профили пользователей правильно.
Если вы обнаружите, что что-то действительно попадает в .bash_profile, я бы проверил, чтобы ваш скрипт и каталог, в который он был помещен, имели соответствующие разрешения, выполнялись и что каталог действительно находится на вашем пути (возможно, что-то еще устанавливает переменную пути после того, как вы ее установили, и перезаписывает ваши изменения?).
Если ничего из этого не сработает, опубликуйте здесь следующее, и, возможно, мы сможем увидеть что-то еще:
env
echo $SHELL
echo $PATH
cat ~/.bashrc
cat ~/.profile
cat ~/bash_profile
cat /etc/profile
cat /etc/bash.bashrc