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

Как навсегда изменить командную строку в OpenShift?

Я изменил свой ~ / app-root / data / .bash_profile, чтобы включить строку, в которой я установил свою переменную среды PS1, но после сохранения изменений, выхода из системы и повторного входа в систему (через SSH) я все еще получаю то же приглашение по умолчанию, то есть "[\ H \ W]>". Оболочка считывает мои изменения, потому что я получаю доступ к псевдониму, который я определил в моем измененном .bash_profile, поэтому я думаю, что переменная PS1 должна быть перезаписана после чтения профиля.

Как-то связано, почему $ HOME не сокращается при использовании \ W или \ w в значении PS1?

Путем экспериментов я думаю, можно с уверенностью сказать, что на данный момент программа OpenShift отменяет «обычных подозреваемых» (например, PATH, PS1, HOME) после чтения вашего .bash_profile. Чтобы настроить приглашение (и любые другие параметры среды), вам необходимо вручную выполнить сценарий оболочки (например, как только вы войдете в систему). Поэтому моим решением было:

  • Создайте сценарий оболочки (например, fixShell.sh) в вашем $ OPENSHIFT_DATA_DIR со всеми вашими изменениями: export HOME="${HOME%/}" export PS1="\w > " export TMOUT=3600 unset TMOUT
  • Печатайте напоминание каждый раз, чтобы вручную выполнить вышеуказанный скрипт, поэтому измените .bash_profile, чтобы отображалось красочное напоминание: COL_BLUE="\x1b[34;01m" COL_RESET="\x1b[39;49;00m" echo echo -e $COL_BLUE"COMMAND TO EXECUTE FOR PROPER CONFIGURATION OF ENVIRONMENT:"$COL_RESET echo echo "source app-root/data/fixShell.sh"

Причина, по которой приглашение по умолчанию не сокращает домашний каталог правильно, заключается в том, что переменная HOME содержит завершающую косую черту ('/'), которая после удаления правильно работает в приглашении. По совпадению, во всех переменных, связанных с каталогом $ OPENSHIFT_ *, есть завершающая косая черта.