.bashrc не выполняется при открытии нового терминала

Платный сервис Ubuntu One помогает субсидировать Canonical, что означает, что (теоретически) регистрация с U1 помогает улучшить платформу.

56
задан 8 July 2012 в 23:22

35 ответов

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

При запуске он запускает .bashrc, если присутствует $ BASH_VERSION. в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 25 July 2018 в 18:09

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

. При наличии .Bashrc запускается. Предполагается, что присутствует $ BASH_VERSION в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 2 August 2018 в 00:23

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

. При наличии .Bashrc запускается. Предполагается, что присутствует $ BASH_VERSION в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 4 August 2018 в 15:52

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

При запуске он запускает .bashrc, если присутствует $ BASH_VERSION. в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 6 August 2018 в 00:30

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

При запуске он запускает .bashrc, если присутствует $ BASH_VERSION. в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 7 August 2018 в 17:55

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

. При наличии .Bashrc запускается. Предполагается, что присутствует $ BASH_VERSION в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 10 August 2018 в 06:45

Это не обязательно бежать; Вверху стандартного .bashrc есть этот комментарий:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Я считаю, что есть возможность запускать терминал bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не запускается как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.

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

В стандарте ~/.profile есть это:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

При запуске он запускает .bashrc, если присутствует $ BASH_VERSION. в вашей среде. Вы можете проверить это, введя команду echo $BASH_VERSION, и она должна отображать некоторую информацию о номере версии - она ​​не должна быть пустой.

95
ответ дан 15 August 2018 в 18:39
  • 1
    Поняв эти инструкции, я вошел в свое терминальное приложение и пошел редактировать - & gt; настройки профиля - & gt; Заголовок и команда - & gt; Запустите команду как оболочку входа. Я не проверял это. Спасибо за помощь. – Selah 8 October 2012 в 21:36
  • 2
    Можете ли вы уточнить, когда .profile (следовательно, .bashrc) загружается / читается? Похоже, это делается, когда пользователи входят в свою сессию рабочего стола. Ответ предполагает, что это происходит при запуске нового сеанса терминала / оболочки "Для оболочек входа в систему (например, виртуальных терминалов) обычно запускается файл ~ / .profile ..." – hedgehog 7 January 2013 в 10:48
  • 3
    Он обычно запускается при запуске новой оболочки входа в систему (на самом деле это не сеанс рабочего стола, поскольку вы можете запустить новую оболочку входа из сеанса рабочего стола). Как я уже сказал, он запускается по умолчанию, но не в том случае, если вы создали ~/.bash_profile или ~/.bash_login. Вы можете проверить, установив или сняв флажок в Edit -> Profile Preferences -> Title and Command -> "Run command as a login shell, и выйдите, а затем снова запустите терминал. Вы можете повторить что-то из .profile для тестирования. – Marty Fried 8 January 2013 в 03:23
  • 4
    @Selah Ваш комментарий помог мне больше, чем фактический ответ;) Большое спасибо за комментарий! – Aleks 14 January 2014 в 18:18
  • 5
    Поэтому, если вы создали ~/.bash_profile или ~/.bash_login в своей системе и хотите сохранить их, но хотите, чтобы ~/.profile и оттуда ~/.bashrc были выполнены, вы можете получить их из своих собственных ~/.bash_profile или ~/.bash_login с помощью строка, содержащая source "$HOME/.profile". Возвращает цветной вывод ls также в оболочках входа в систему! – tanius 2 March 2014 в 17:40

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым именем

12
ответ дан 25 May 2018 в 08:52
  • 1
    [F1]? Ubuntu по умолчанию использует .profile, а не .bash_profile. – muru 6 May 2016 в 11:30
  • 2
    Сервер ubuntu часто не срабатывает .bashrc ... выше работает так же ... cat .bash_profile [[-s " $ HOME / .bashrc " ]] & amp; & amp; источник "$ HOME / .bashrc" # Загрузить значение по умолчанию – Scott Stensland 27 August 2016 в 00:52

Если $BASH_VERSION не задано, попробуйте использовать команду chsh, чтобы установить вашу оболочку в /bin/bash.

У меня была аналогичная проблема с 12.04 LTS, и выяснилось, что у новой учетной записи пользователя была установлена ​​оболочка по умолчанию /bin/sh, что и стало причиной проблемы.

4
ответ дан 25 May 2018 в 08:52

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

. ~/.bashrc
4
ответ дан 25 May 2018 в 08:52
  • 1
    Если ваш терминал не запускает оболочку входа (которая по умолчанию не установлена ​​в Ubuntu), ~/.bash_profile не будет считана (и она не существует по умолчанию в Ubuntu) – muru 10 January 2017 в 09:49

Вместо того, чтобы пройти все это, просто перейдите в Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в поле Custom command напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также запустит bash automaticlly.

0
ответ дан 25 May 2018 в 08:52

Если $BASH_VERSION не установлен, попробуйте с помощью команды chsh установить для вашей оболочки значение /bin/bash.

У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя по умолчанию установлена ​​оболочка /bin/sh, что и стало причиной проблемы.

4
ответ дан 25 July 2018 в 18:09

Вместо того, чтобы пройти через все это, просто перейдите Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в окне пользовательских команд напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.

0
ответ дан 25 July 2018 в 18:09

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым логином

12
ответ дан 25 July 2018 в 18:09

Если $BASH_VERSION не установлен, попробуйте с помощью команды chsh установить для вашей оболочки значение /bin/bash.

У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя по умолчанию установлена ​​оболочка /bin/sh, что и стало причиной проблемы.

4
ответ дан 2 August 2018 в 00:23

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

. ~/.bashrc
4
ответ дан 2 August 2018 в 00:23

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым логином

12
ответ дан 2 August 2018 в 00:23

Если $BASH_VERSION не установлен, попробуйте с помощью команды chsh установить для вашей оболочки значение /bin/bash.

У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя по умолчанию установлена ​​оболочка /bin/sh, что и стало причиной проблемы.

4
ответ дан 4 August 2018 в 15:52

Вместо того, чтобы пройти через все это, просто перейдите Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в окне пользовательских команд напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.

0
ответ дан 4 August 2018 в 15:52

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

. ~/.bashrc
4
ответ дан 4 August 2018 в 15:52

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым логином

12
ответ дан 4 August 2018 в 15:52

Если $BASH_VERSION не установлен, попробуйте с помощью команды chsh установить для вашей оболочки значение /bin/bash.

У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя по умолчанию установлена ​​оболочка /bin/sh, что и стало причиной проблемы.

4
ответ дан 6 August 2018 в 00:30

Вместо того, чтобы пройти через все это, просто перейдите Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в окне пользовательских команд напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.

0
ответ дан 6 August 2018 в 00:30

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым логином

12
ответ дан 6 August 2018 в 00:30

Если $BASH_VERSION не установлен, попробуйте с помощью команды chsh установить для вашей оболочки значение /bin/bash.

У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя по умолчанию установлена ​​оболочка /bin/sh, что и стало причиной проблемы.

4
ответ дан 7 August 2018 в 17:55

Вместо того, чтобы пройти через все это, просто перейдите Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в окне пользовательских команд напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.

0
ответ дан 7 August 2018 в 17:55

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

. ~/.bashrc
4
ответ дан 7 August 2018 в 17:55

В моем случае просто отсутствовали строки загрузчика .bashrc в .bash_profile

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

Я добавил его вручную, и он работал с моим новым логином

12
ответ дан 7 August 2018 в 17:55

Вместо того, чтобы пройти через все это, просто перейдите Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell" и в окне пользовательских команд напишите bash и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.

0
ответ дан 10 August 2018 в 06:45

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

. ~/.bashrc
4
ответ дан 10 August 2018 в 06:45

Другие вопросы по тегам:

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