Linux установить bash по умолчанию

bash по умолчанию

Как сделать в убунте, чтобы баш был по умолчанию (сейчас по умолчанию sh)?

Спасибо, но мою проблему это не решило.

отредактируй /etc/passwd конец строки своего пользователя.
или chsh -s /bin/bash username

А у тебя была проблема? Что же ты не сказал сразу?

Никогда так не делай, разве что у тебя слака или другая кривулька.

У меня с бубнтой лажа. Зайдешь в жаббер?

Вот в убунте правильно (спасибо дебиану), а в центоси как обычно. Вот если бы bash при вызове как sh вёл себя на 100% по стандарту, это было бы простительно.

Кстати, при написании скриптов с #!/bin/sh тоже можно сесть в лужу, случайно влепив невинный башизм, а потом долго думать, почему оно не работает на другой машине, где /bin/sh это sh, dash или другой строго совместимый шелл.

может убунту переустановить

я так и не делаю, но много где по умолчанию уже сделано

Источник

Как сделать Bash моей оболочки по умолчанию на Ubuntu?

у меня есть .bash_profile в моем домашнем каталоге, но он не запускается при входе в систему. Если я сделаю следующее, то все будет так, как я ожидал:

но обычно это происходит при входе в систему. Мысли?

6 ответов

введите пароль и укажите путь к оболочке, которую вы хотите использовать.

для Bash это было бы /bin/bash . Для Zsh это было бы /usr/bin/zsh .

поверх ответа Акиры вы также можете отредактировать свой / etc / passwd файл, чтобы указать оболочку по умолчанию.

вы найдете строку такой пример:

оболочка указывается в конце.

вы можете проверить программу терминала. Он может быть настроен на запуск /bin / sh, а не /bin/bash

Bash выполняется .файл только для сеансов входа в систему. .bashrc и выполняется для всех сессий Баш, не только сеансы. Попробуйте поискать .bash_profile из .bashrc (избегайте круговой зависимости!) или настройка программы терминала для запуска /bin / bash-l в качестве программы оболочки.

одна из альтернатив-переименовать сценарий запуска В.профиль. Этот файл является источником большинства оболочки Unix.

Читайте также:  Get file from http linux

изменить оболочку для пользователя:

в вашем вопросе недостаточно информации, чтобы я мог сказать наверняка, но я столкнулся с той же проблемой раньше. Предполагая, что вы уже установили /bin/bash в свой пароль, это может быть способом запуска вашего терминала.

если вы пытаетесь запустить терминал с графическим интерфейсом, скажите gnome-terminal вы можете ожидать, что оболочка будет читать ваши файлы запуска bash. Однако это не происходит на Ubuntu и, возможно, других системах по умолчанию.

как я установил его на Ubuntu в измените настройки gnome-terminal и задайте для команды запуска значение bash -l . -l сокращенно —login . Это говорит bash для запуска как в качестве оболочки входа в систему, что заставляет его загружать сценарии запуска, как вы получите при входе в систему через ssh.

Я уверен, что есть хорошее обоснование для этого, как это, но я нашел его удивительным и более чем немного раздражает, как я разделяю те же профили в системах linux, cywgin и macos.

Источник

Как изменить оболочку по умолчанию для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ на bash?

Я хочу, чтобы у каждого нового пользователя по умолчанию была оболочка bash.

Я знаю, что для того, чтобы изменить собственную оболочку на bash, вы бы использовали команду «chsh -s /bin/bash», но как мне автоматически установить оболочку всех будущих пользователей на bash по умолчанию?

3 ответа

Добавить пользователя

adduser файл по умолчанию /etc/adduser.conf , Оболочка по умолчанию, определяемая DSHELL переменная /bin/bash по умолчанию.

useradd

Скорее всего, вам это не нужно, потому что useradd — это утилита очень низкого уровня, и она почти никогда не используется напрямую.

Если вы используете useradd, отредактируйте /etc/default/useradd файл скелета (не забудьте сделать резервную копию, хотя).

Установить SHELL переменная к /bin/bash вместо /bin/sh ,

Теперь каждый раз, когда вы используете useradd добавить нового пользователя bash это автоматически их оболочка по умолчанию.

Уже существующие пользователи

Если вы хотите изменить оболочку уже существующих пользователей, вы должны отредактировать /etc/passwd файл (пожалуйста, убедитесь, что у вас есть резервная копия).

Вот описание столбцов

  1. логин
  2. необязательный зашифрованный пароль
  3. числовой идентификатор пользователя
  4. числовой идентификатор группы
  5. имя пользователя или поле комментария
  6. домашний каталог пользователя
  7. необязательный пользовательский интерпретатор команд

В том порядке, разделенном двоеточиями (:), как это.

Для получения дополнительной информации об этом файле обратитесь к странице man man 5 passwd ,

Источник

Как определить и изменить командную оболочку (shell) в Linux

Что такое командная оболочка

Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.

Читайте также:  Windows taskbar change size

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.

Оболочки Linux

Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.

Существуют разные оболочки Linux. Можно отметить:

  • bash
  • csh
  • dash
  • fish
  • ksh
  • pdksh
  • rbash
  • sh
  • tcsh
  • zsh

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

Как определить текущую командую оболочку

Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.

Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.

Способ 1

Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:

Из вывода команды, мы видим, что используется оболочка bash.

Способ 2

Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.

Способ 3

Определим, работающий процесс оболочки командой ps.

Как посмотреть список оболочек, доступных в системе

Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells

Выведем содержимое файла /etc/shells , для этого выполняем команду:

Как временно переключиться на другую оболочку

Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.

Например, переключимся на оболочку sh. Выполняем команду:

Как изменить оболочку

Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).

Чтобы изменить оболочку текущего пользователя нужно выполнить команду:

В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).

Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):

После этого нужно выйти и снова войти в систему.

Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:

Заключение

Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

Читайте также:  G5400 видеодрайвер windows 10

Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:

Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду

Источник

Как сделать Bash моей оболочкой по умолчанию в Ubuntu?

У меня есть домашний каталог .bash_profile , но он не запускается при входе в систему. Если я сделаю следующее, то все будет так, как я ожидаю:

Но обычно это происходит при входе в систему. Мысли?

6 ответов 6

Введите свой пароль и укажите путь к оболочке, которую вы хотите использовать.

Для Bash это будет /bin/bash . Для Zsh это будет /usr/bin/zsh .

Помимо ответа Акиры, вы также можете отредактировать файл /etc/passwd, чтобы указать оболочку по умолчанию.

Вы найдете строку как этот пример:

Оболочка указана в конце.

Один из вариантов — переименовать ваш загрузочный скрипт в .profile. Этот файл является источником большинства оболочек Unix.

Вы можете проверить свою терминальную программу. Возможно, он настроен для запуска /bin /sh, а не /bin /bash

Bash выполняет .bash_profile только для сеансов входа в систему. .bashrc выполняется для всех сеансов bash, а не только для сеансов входа в систему. Попробуйте поискать .bash_profile из .bashrc (избегайте циклической зависимости!) или настройте вашу терминальную программу для запуска /bin /bash -l в качестве программы оболочки.

Изменить оболочку для пользователя:

В вашем вопросе недостаточно информации, чтобы я мог сказать наверняка, но раньше я сталкивался с той же проблемой. Предполагая, что вы уже установили /bin /bash в свой пароль, это может быть способ запуска вашего терминала.

Если вы пытаетесь запустить терминал с графическим интерфейсом, скажем, gnome-terminal вы можете ожидать, что оболочка прочитает ваши файлы запуска bash. Однако это не происходит в Ubuntu и, возможно, в других системах по умолчанию.

Я исправил это в Ubuntu, отредактировав настройки терминала gnome и установив команду запуска bash -l . -l это сокращение от —login . Это указывает bash на запуск в качестве оболочки входа в систему, что заставляет его загружать сценарии запуска, которые вы получаете при входе через ssh.

Я уверен, что есть хорошая причина для того, чтобы быть таким, какой он есть, но я нахожу это удивительным и более чем раздражающим, поскольку я использую одни и те же профили для систем Linux, Cywgin и MacOS.

Источник

Оцените статью