Linux как узнать шелл

Linux как узнать шелл

Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
Из тех что знаю chsh или посмотреть на вид ком строки или посмотреть в файл /etc/passwd

Но ведь есть же команда

И что такое пользователь toor

Ответить | Правка | Cообщить модератору

Оглавление

  • Как узнать в каком я интерпретаторе работаю, Oyyo, 00:00 , 18-Апр-07, (1)
  • Как узнать в каком я интерпретаторе работаю, Anonymous, 00:03 , 18-Апр-07, (2)
    • Как узнать в каком я интерпретаторе работаю, YuryD, 09:24 , 18-Апр-07, (3)
      • Как узнать в каком я интерпретаторе работаю, newser, 09:44 , 18-Апр-07, (4)
      • Как узнать в каком я интерпретаторе работаю, bill, 11:04 , 18-Апр-07, (5)
        • Как узнать в каком я интерпретаторе работаю, newser, 11:35 , 18-Апр-07, (6)
          • Как узнать в каком я интерпретаторе работаю, YuryD, 11:57 , 18-Апр-07, (7)
            • Как узнать в каком я интерпретаторе работаю, bill, 12:53 , 18-Апр-07, (9)
          • Как узнать в каком я интерпретаторе работаю, bill, 12:48 , 18-Апр-07, (8)
            • Как узнать в каком я интерпретаторе работаю, newser, 13:32 , 18-Апр-07, ( 10 )
              • Как узнать в каком я интерпретаторе работаю, bill, 13:57 , 18-Апр-07, ( 11 )
                • Как узнать в каком я интерпретаторе работаю, newser, 14:26 , 18-Апр-07, ( 12 )
  • Как узнать в каком я интерпретаторе работаю, SS, 00:22 , 20-Фев-15, ( 13 )

Сообщения по теме [Сортировка по времени | RSS]

>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>
>Из тех что знаю chsh или посмотреть на вид ком строки или
>посмотреть в файл /etc/passwd
>
>Но ведь есть же команда
>
>И что такое пользователь toor

Хм-м, попробуй выполнить
# help

1. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от Oyyo on 18-Апр-07, 00:00
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от Anonymous on 18-Апр-07, 00:03

>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>
>Из тех что знаю chsh или посмотреть на вид ком строки или
>посмотреть в файл /etc/passwd
>
>Но ведь есть же команда
>
>И что такое пользователь toor

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от YuryD (??) on 18-Апр-07, 09:24

>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>echo $SHELL

Не факт, это всего лишь имя файла выполняемого шелла, есть любители симлинки делать или переименовывать файлы.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от newser (ok) on 18-Апр-07, 09:44

>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>echo $SHELL
>
> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>симлинки делать или переименовывать файлы.

Ну а кто мешает это выяснить?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от bill (ok) on 18-Апр-07, 11:04

>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>echo $SHELL
>
> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>симлинки делать или переименовывать файлы.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от newser (ok) on 18-Апр-07, 11:35

>>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>>echo $SHELL
>>
>> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>>симлинки делать или переименовывать файлы.
>
>
>Ок)
>
>$SHELL —version

$ $SHELL —version
Illegal option —
$ echo $SHELL
/bin/sh

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от YuryD (??) on 18-Апр-07, 11:57

>>>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>>>echo $SHELL
>>>
>>> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>>>симлинки делать или переименовывать файлы.
>>$SHELL —version
>
>$ $SHELL —version
>Illegal option —

Еще круче shell=/bin/csh
man csh

NAME
tcsh — C shell

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от bill (ok) on 18-Апр-07, 12:53

>>>>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>>>>echo $SHELL
>>>>
>>>> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>>>>симлинки делать или переименовывать файлы.
>>>$SHELL —version
>>
>>$ $SHELL —version
>>Illegal option —
>
> Еще круче shell=/bin/csh
>man csh
>
>NAME
> tcsh — C shell
>
>Так что хрен узнаешь 🙂

Короче запутали меня, но у меня всё работает.
/bin/tcsh —version
tcsh 6.14.00 (Astron) 2005-03-25 (i386-intel-linux) options wide,nls,dl,al,kan,rh,color,filec

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

8. «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от bill (ok) on 18-Апр-07, 12:48

>>>>>Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
>>>>echo $SHELL
>>>
>>> Не факт, это всего лишь имя файла выполняемого шелла, есть любители
>>>симлинки делать или переименовывать файлы.
>>
>>
>>Ок)
>>
>>$SHELL —version
>
>$ $SHELL —version
>Illegal option —
>$ echo $SHELL
>/bin/sh
>
>:)

Таи два — , здесь сливаются в один, трудно догадаться?
$ $SHELL —version
GNU bash, version 3.1.17(1)-release (i686-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10 . «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от newser (ok) on 18-Апр-07, 13:32

>
>Таи два — , здесь сливаются в один, трудно догадаться?
>$ $SHELL —version
>GNU bash, version 3.1.17(1)-release (i686-redhat-linux-gnu)
>Copyright (C) 2005 Free Software Foundation, Inc.

Смешной Вы. Ничего у меня не сливается. Строка приведена в доказательство того, что не все shell’ы поддерживают —version.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11 . «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от bill (??) on 18-Апр-07, 13:57

>>
>>Таи два — , здесь сливаются в один, трудно догадаться?
>>$ $SHELL —version
>>GNU bash, version 3.1.17(1)-release (i686-redhat-linux-gnu)
>>Copyright (C) 2005 Free Software Foundation, Inc.
>
>Смешной Вы. Ничего у меня не сливается. Строка приведена в доказательство того,
>что не все shell’ы поддерживают —version.

Ну значит как в сказке : «иди туда — не знаю куда, принеси то — не знаю что».

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12 . «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от newser (ok) on 18-Апр-07, 14:26

>
>Ну значит как в сказке : «иди туда — не знаю куда,
>принеси то — не знаю что».

Существует две разновидности shell: Bourne-like и C Shell-like. Между ними есть различия, желательно их знать, уметь обращаться и с теми, и с другими. Тогда Ваш первоначальный вопрос вряд ли будет иметь значение.

Bourne-like shells: Bourne shell (sh), Bourne again shell (bash), Korn shell (ksh), Z Shell (zsh), . . ИМХО, стоит досконально изучить именно sh (тем более, что литературы полно), тогда вообще без напряга будете использовать любой из вышеперечисленных.

C Shell-like: C Shell (csh) и TC Shell (tcsh).

Собственно, понять, с какой разновидностью имеем дело, можно, например, просто попробовав присвоить некой переменной значение:

Для bourne-like:
$ foo=bar
$ echo $foo
bar

Для csh-like:
% foo=bar
foo=bar: Command not found

Дальше уже понятно с чем имеем дело, а bash это или zsh — дело второе, если знаете основные принципы того или иного класса оболочек.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13 . «Как узнать в каком я интерпретаторе работаю» + / –
Сообщение от SS (??) on 20-Фев-15, 00:22

> Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
> Из тех что знаю chsh или посмотреть на вид ком строки или
> посмотреть в файл /etc/passwd
> Но ведь есть же команда
> И что такое пользователь toor

Источник

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

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

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

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки 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, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

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

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

Источник

Читайте также:  Ноутбук hp не загружается windows 10 диагностика
Оцените статью