4

Я совершенно новичок в UNIX, так что извините, если этот вопрос невероятно глуп.

Я только начал стажировку, где мне дали доступ к серверу сборки. Я хочу включить определенные псевдонимы по умолчанию в моей среде при входе в систему. Насколько я понимаю, способ сделать это - включить их в файл .bashrc в моем каталоге $ HOME. Но это не похоже на работу. Я где-то читал, что читать могут только интерактивные оболочки и пользовательские скрипты, по этой причине это не работает? Я бегу Баш. Так как же мне поступить?

Заранее спасибо!

4 ответа4

4

В вашем ${HOME}/.bash_profile добавьте следующее:

# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi
2

От man bash:

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

а также

Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из /etc/bash.bashrc и ~ /.bashrc, если эти файлы существуют.

Например, если вы входите в систему через графический интерфейс пользователя, а затем запускаете терминал, на котором запущен Bash, то вы находитесь в «интерактивной оболочке, которая не является оболочкой входа в систему».

2

iman453, файлы должны иметь имена .bashrc и .bash_profile. Точка перед файлом означает, что он скрыт. Любая идея, какая версия Unix или Linux работает на сервере сборки?

В моем домашнем каталоге я

.
|-- .bash_history
|-- .bash_logout
|-- .bash_profile
|-- .bashrc
|-- .mozilla
|   |-- extensions
|   `-- plugins
|-- .ssh
|   |-- .config
|   |-- authorized_keys
|   |-- authorized_keys2
|   `-- known_hosts
|-- .viminfo
|-- .vimrc

Содержимое моего файла .bashrc:

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
alias chknag='sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'
alias ducks='sudo du -cksh * | sort -n | head -50'

Содержимое .bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/sbin:/usr/bin:/sbin

export PATH

Когда я SSH в эту машину после аутентификации, я имею доступ к псевдонимам уток.

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .