Должны ли команды bashrc поддерживать перезагрузку оболочки?

Эта конфигурация обычно встречается в my.cnf, которая обычно имеет вид /etc/my.cnfили /etc/mysql/my.cnf.

   [mysqld]
   bind-address = 127.0.0.1
   port = 3306

Отредактируйте файл конфигурации, указав свои значения, и перезапустите сервер MySQL.

-1
15.09.2020, 15:44
2 ответа

Файл .bashrcпредназначен для хранения того, что вы хотите выполнять при каждом запуске новой интерактивной оболочки. Это неподходящее место для установки вашей переменной PATH, например, у вас должны быть только те вещи, которые вам нужно запускать при каждой инициализации оболочки.

Вот почему у нас есть два «семейства» конфигурационных файлов для bash:

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

  • /etc/profile, ~/.bash_profile, ~/.bash_loginи~/.profile(в указанном порядке )вызываются каждый раз при запуске новой интерактивной оболочки входа в систему.

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

Поэтому, если вы видите, что что-то в вашем ~/.bashrcвыполняется и вызывает у вас проблемы каждый раз, когда вы запускаете новую оболочку, это означает, что ваша система была неправильно сконфигурирована и вы используете ~/.bashrc, когда вы должен использовать ~/.bash_profileили ~/.profile. Другими словами, да, .bashrcабсолютно необходимо выполнять каждый раз, когда вы запускаете новую интерактивную оболочку без входа -.

4
18.03.2021, 23:04

Вы можете использовать эту функцию, которая находится в /etc/profile

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            [ ! -d "$1" ] && return
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

Это определяет, находится ли каталог уже в PATH перед его добавлением.

Используйте его в своем ~/.profile или ~/.bash _профиле:

path_munge /directory/to/add before
# or
path_munge /directory/to/add/also after

для добавления или добавления нужного каталога к PATH.

Обратите внимание, что /etc/profile отключает функцию, поэтому скопируйте его в свой профиль.

1
18.03.2021, 23:04

Теги

Похожие вопросы