LINUX.ORG.RU

Какой командной оболочкой вы пользуетесь?

 , , , ,


0

1
  1. bash 480 (71%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. zsh 201 (30%)

    **************************************************************************************************************************************

  3. cmd.exe / COMMAND.COM 64 (9%)

    ******************************************

  4. fish 63 (9%)

    ******************************************

  5. PowerShell 52 (8%)

    **********************************

  6. (d)ash 28 (4%)

    ******************

  7. (t)csh 18 (3%)

    ************

  8. другой 14 (2%)

    *********

  9. ksh 11 (2%)

    *******

  10. eshell 5 (1%)

    ***

Всего голосов: 936, всего проголосовавших: 680

★★★

Проверено: Satori ()
Последнее исправление: Dimez (всего исправлений: 2)

Ответ на: комментарий от s-warus

/bin/sh как правило является ссылкой на dash-ash-bash

Да? ☺ А у меня /bin/sh является ссылкой на /bin/sh. Что ты об этом думаешь?

Clockwork ★★★★★
()
Ответ на: комментарий от Clockwork

Да? ☺ А у меня /bin/sh является ссылкой на /bin/sh. Что ты об этом думаешь?

эк, не фига себе родной Bourne shell /bin/sh, новых версий с 1979г не выходило. Скорее всего собранный ash если BSD, или dash если Linux. Что за OS на машине у вас ?

ls -la /bin/sh
точно не ссылка?
man sh
справку по чему пишет

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 3)
Ответ на: комментарий от s-warus

Что за OS на машине у вас ?

FreeBSD

точно не ссылка?

readlink -f /bin/sh
/bin/sh
ls -la /bin/sh
-r-xr-xr-x  1 root  wheel  169816  2 июня  13:51 /bin/sh

Скорее всего собранный ash если BSD, или dash если Linux.

Всё потому, что это отдельный POSIX Shell. Это не симлинк на Bash и не ASH :)

Clockwork ★★★★★
()
Ответ на: комментарий от Clockwork

могу ошибаться, Wiki ash говорит, что Bourne shell был заменен на ash, во freebsd частности, как оно на самом деле я не знаю, оболочек море, но Bourne shell в 80-90х повсеместно вымер (медленный не столь функционален), исходники частично живы в ksh тоже могу ошибиться давно что-то такое читал

s-warus ★★★
()

/bin/sh (sh(1)) для скриптов (не является ссылкой на bash, dash или ash, это просто POSIX-совместимый Bourne Shell), /bin/tcsh (tcsh(1)) для интерактива.

Недавно был /usr/local/bin/zsh, но.

mord0d ★★★★★
()

ash и dash можно объединить. csh и tcsh тоже. Технически эти пары совместимы (вторые обратно совместимы с первыми, в них только добавлены некоторые плюшки).

mord0d ★★★★★
()
Ответ на: комментарий от Clockwork

Не пали контору. А то линуксоиды набигут и через десять лет tcsh превратится в… а впрочем, fish уже есть. ☺

mord0d ★★★★★
()
Ответ на: комментарий от s-warus

могу ошибаться, Wiki ash говорит, что Bourne shell был заменен на ash, во freebsd частности, как оно на самом деле я не знаю, оболочек море, но Bourne shell в 80-90х повсеместно вымер (медленный не столь функционален), исходники частично живы в ksh тоже могу ошибиться давно что-то такое читал

Ну, технически ты прав:

HISTORY

A sh command, the Thompson shell, appeared in Version 1 AT&T UNIX. It was superseded in Version 7 AT&T UNIX by the Bourne shell, which inherited the name sh.

This version of sh was rewritten in 1989 under the BSD license after the Bourne shell from AT&T System V Release 4 UNIX.

AUTHORS

This version of sh was originally written by Kenneth Almquist.

Но фактически оно уже не тот ash, что написал Кеннет, но обратно совместим, ибо POSIX.

mord0d ★★★★★
()
Ответ на: комментарий от s-warus

Ну я тебе привёл кусок man-страницы sh(1) из FreeBSD.

Но так как оно развивается как часть базовой системы, то патчится под нужды базовой системы. То же касается всяких wpa_supplicant, openssl и прочих — когда-то был взят апстрим и переработан под нужды проекта, фиксы из апстрима прилетают, конечно, но выборочно, потому что кодовые базы отличаются и нельзя просто взять и накатить сверху патч, каждый приходится адаптировать.

mord0d ★★★★★
()
Ответ на: комментарий от Zhbert

Ты можешь редактировать пункты?

Может стоит объединить “csh” + “tcsh” → “(t)csh”, “ash” + “dash” → “(d)ash” и разделить “cmd.exe / PowerShell” → “cmd.exe / COMMAND.COM” (cmd.exe и COMMAND.COM совместимы, а FreeDOS хотя бы опенсорц, чтобы не выкидывать cmd.exe из полла) + “PowerShell”.

mord0d ★★★★★
()
Ответ на: комментарий от Dimez

Благодарю. :3

Да, вот теперь результат будет информативным.


Думаю, стоит разжевать каждый пункт (не тебе с жбертом, а тем кто далёк от всего этого):

bash

POSIX-совместим, но имеет множество отличий от Bourne Shell (того самого), потому его объединить с (d)ash не получится.

zsh

Ещё больше плюшек чем у Bash, в том числе менее совместимых даже с Bash, не говоря уже о Bourne Shell.

(d)ash

ash (Almquist Shell) — наследник Bourne Shell, по совместимости ближе всех к оригинальному Bourne Shell.

dash — тот же ash, но с патчами от Debian — добавлено немного бонусных плюшек, не ломающих совместимость.

fish

Местами синтаксис похож на (t)csh, но не совместим с.

(t)csh

C Shell — стандарт BSD, не совместим с Bourne Shell.

TENEX C Shell расширяет возможности стандартного C Shell: filec (автодополнение файлов из cwd) включен по умолчанию, добавлена возможность писать свои комплишны и прочее.

ksh

POSIX-совместимый, но от Bourne Shell ушёл довольно далеко. Такой ash с плюшками a-la ZSH.

eshell

Попытка написать Bourne Shell (и часть coreutils) на Emacs Lisp; насколько хорошо это получилось не знаю, не пробовал.

cmd.exe / COMMAND.COM

Казалось бы, причём здесь DOS/DOS-like? Ну, во-первых для FreeDOS есть ssh, и из него можно* админить… если он работает в виртуалке, потому что на железе сеть в нём до сих пор так и не работает, увы, из Windows cmd.exe тоже есть возможность работать, в том числе с UNIX-like окружением; а во-вторых админ/юзер/программист не обязан использовать только одну ОС. ☺

PowerShell

Попытка сделать интерактивный C#-шелл. Наркомания та ещё, но если осилить — вполне мощный инструмент. Его вроде даже на Linux портировали (нафига?).

mord0d ★★★★★
()
Ответ на: комментарий от Dimez

Я не уверен, что эту простыню (частично) вообще надо тащить в ОП. По-моему, достаточно будет ссылку поставить.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Я вообще это хочу подтвердить после опроса про вес, а то он так в архив улетит :)

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Я не уверен, что эту простыню (частично) вообще надо тащить в ОП.

Я вот тоже. Попробовал, на предпросмотре получилась ерунда.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Соглазен с @hobbit, не нужно оно в ОП (тем более когда подтвердят опрос, многие даже не откроют для прочтения пост, а кто откроет — не станет читать эту графоманию).

Пусть останется комментарием как оно сейчас есть. Ну максимум — ссылку на комментарий в ОП добавить, и то не уверен что в этом есть хоть какой-то смысл.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

То же касается всяких ... openssl ... — когда-то был взят апстрим и переработан под нужды проекта, фиксы из апстрима прилетают, конечно, но выборочно,

Не знаю насчёт остального, но openssl там практически апстримный и есть. Адаптированный немного, но это точно не «взяли давно и мержим патчи» а скорее «имеем свой патчсет и портируем его на новые версии openssl по мере их включения в базу».

И это касается всего что в /usr/src/contrib и его криптоаналоге /usr/src/crypto

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Не знаю насчёт остального, но openssl там практически апстримный и есть. Адаптированный немного, но это точно не «взяли давно и мержим патчи» а скорее «имеем свой патчсет и портируем его на новые версии openssl по мере их включения в базу».

Согласен, с OpenSSL я немного погорячился. Но pf(4) точно сильно отличается от апстрима (при этом документация во FreeBSD не отражает реальных изменений).

mord0d ★★★★★
()
Ответ на: комментарий от firkax

C Shell — стандарт BSD, не совместим с Bourne Shell.

Важная инфа.

Патчу чуть меньше года, но…

Девственно чистый образ свежей на данный момент 13.1-RELEASE-p2:

 # grep '^root:' /jail/releases/13.1-RELEASE/etc/master.passwd
root::0:0::0:0:Charlie &:/root:/bin/csh
mord0d ★★★★★
()

именно как командной оболочкой - bash. Скрипты по мере необходимости пишу совместимые с dash.

shell-script ★★★★★
()
Ответ на: комментарий от Jaeger1999

Почему? Знакомый, стандартный, удобный, не требует переучиваться под всякие непонятно зачем нужные особенности.

Меня например раздражает если встречаюсь с каким нибудь zsh/dash по дефолту и они пытаются угадывать что ты хочешь сделать и творить то, что их не просили.

kirill_rrr ★★★★★
()

Единственная расово верная zsh. Не за плюшки, а из-за лицензии и современности.

untitl3d
()

bash. Довольно удобный язык программирования.

x-signal ★★
()
Ответ на: комментарий от untitl3d

Фря перейдет на sh для рута по дефолту начиная с 14.

@firkax выше уже писал об этом.

tcsh бажное убожество, пора закопать.

Закапывай!

mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.