Обсуждение:Оболочка Unix

Что такое «оболочка Unix»?

1) Это описание несколько примитивно и неверно.

2) Лучшее определение можно найти на странице руководства kornshell: Shell — это командный язык программирования, который выполняет команды, считанные с терминала или из файла.

Гениальность в том, что Unix разделяет символьный терминал (и его эмуляцию вроде xterm), где вы печатаете все, и оболочку, которая их выполняет. Терминал обычно удаленный, и в самой простой форме оболочка не видит введенные команды, пока вы не нажмете Enter.

Консоль — это HUI, напрямую подключенный к узлу Unix (клавиатура, графическая карта, экран), где символьный терминал, такой как vt100, представляет собой автономное устройство, состоящее из клавиатуры, экрана и небольшого объема памяти, подключенное через последовательную линию.

Сегодня с использованием графических (X11) терминалов сценарий стал сложнее, но основной принцип тот же.

Употребляемый в DOS термин «командная строка» неверен и не используется в надлежащей документации Unix, поэтому его следует удалить.

3) cmd и аналогичные приложения Windows могут быть совместимы с POSIX, но некоторые Unix-Shell и ссылки не должны быть удалены.

4) Пользователи могут выбрать оболочку входа с помощью cnsh и изменить текущую оболочку с помощью

exec <имя оболочки> например exec zsh

Это две вещи.

5) Нет, не любая программа может быть оболочкой входа. Только тонкие, упомянутые в:

кот /etc/shells/bin/ш/bin/баш/sbin/нологин/bin/tcsh/bin/csh/bin/кш 

6) Оболочка отличается от других языков программирования тем, что она почти всегда вызывает внешние команды для реализации функциональности в сочетании с конвейерами/фильтрами...

—Предыдущий неподписанный комментарий добавлен Ahaack29 (обсуждение • вклад ) 04:10, 14 ноября 2007 (UTC) [ ответить ]

2) В первом предложении страницы руководства оболочки Korn в моей системе, "Ksh is a command and programming language that executes commands read from a terminal or a file.", отсутствует слово "interpreter" между "programming language" и "that executes commands". Язык не выполняет команды; это делает интерпретатор языка.
Unix была и остается не единственной системой, которая «разделяет символьный терминал (и его эмуляцию, такую ​​как xterm), [где] вы печатаете все, и оболочку, которая их выполняет» — это относится, по крайней мере, к CTSS .
Такое разделение означает, что в Unix для оболочки не имеет значения, поступают ли команды с реального терминала на последовательной линии, консоли (т. е. эмулятора терминала, реализованного с использованием клавиатуры и дисплея компьютера без оконной системы), эмулятора терминала, такого как xterm , Konsole , GNOME Terminal или Terminal , или удаленного соединения с использованием TELNET , rsh , ssh или...
В этом контексте уместно упомянуть интерфейс командной строки , даже если мы не говорим, что оболочка Unix — это «командная строка». Термин «командная строка» не является «DOSовским»; он появляется, например, около 25 раз на веб-сайте [multicians.org], так что, по-видимому, он использовался в Multics — ОС, которая предшествовала как MS-DOS, так и Unix.
3) Командные интерпретаторы Windows могут не быть оболочками Unix, но в статье не утверждалось, что они таковыми являются, а просто говорилось, что они аналогичны командным интерпретаторам в системах Unix. Эта аналогия может быть полезна для тех, кто читает статью, если они привыкли к Windows и не знакомы с Unix.
4) Термин «оболочка входа» в статье не используется. Ваша «оболочка входа» — это просто программа, которая запускается первой, если вы выполняете вход без графического интерфейса пользователя — это может быть или не быть оболочкой Unix (например, это может быть специализированная программа, например, у вас может быть система точек продаж на базе Unix , и пользователи, которые входят в эту систему, могут получить приложение точки продаж в качестве оболочки входа). Для людей, у которых оболочка входа — Unix, эта оболочка является их начальной «текущей оболочкой».
5) Любая программа, которая может работать как оболочка входа, может быть оболочкой входа. В большинстве современных систем Unix единственные программы, которые пользователь может указать в качестве оболочки входа с помощью chsh, находятся в "/etc/shells", но системный администратор может создавать программы, отличные от них, например, программу для точек продаж, описанную в предыдущем абзаце, оболочку входа для учетной записи. Гай Харрис 11:44, 14 ноября 2007 (UTC) [ ответить ]
Я думаю, что это пользовательский интерфейс, который вы получаете, включая основные возможности, подстановочные знаки, каналы, here docs и т. д., а не то, на чем он работает. Дело не в том, является ли базовая ОС Unix-подобной , а в том, является ли пользовательский интерфейс, создаваемый приложением, Unix-подобным. Если это оболочка Unix, то это оболочка Unix, независимо от того, запускаете ли вы ее на Unix или Windows. Я решил WP:BEBOLD и сделал это редактирование[1]. Обратите внимание, что у меня есть возможное объявление WP:COI здесь . Msnicki ( talk ) 17:33, 23 ноября 2015 (UTC) [ ответить ]

Мне не нравится, что мы сейчас придумываем свое собственное определение. Я бы предпочел, чтобы lede сначала давал минимальное, прозаическое определение:

  • В Unix оболочка — это программа, которая обеспечивает интерфейс командной строки и программируемость.
  • Затем перечислите самые важные из них (Thompson/Bourne/C shell).
  • Наконец, немного о том, как оболочки в стиле Unix доступны в других системах.

Этот исторический маршрут должен позволить нам держаться подальше от семантических проблем, в частности, от вечных дискуссий о том, что является, а что не является Unix-подобным. Q VVERTYVS ( хм? ) 21:53, 23 ноября 2015 (UTC) [ ответить ]

Номенклатура

Я не смог решить, как правильно здесь называть. Я пытался использовать unix shell как более общий термин, и лучше, чем shell , и использовать такие вещи, как bourne shell, для более частных терминов. комментарии? -- drj

Что не так с "командной оболочкой"? "Unix shell" может быть слишком конкретным - посмотрите на rc, который взят из Plan 9. -- Maru 02:46, 6 августа 2005 (UTC) [ ответить ]


Заменаш

На многих системах Linux (и BSD?) /bin/sh по-прежнему используется по умолчанию, но на самом деле это просто символическая ссылка на /bin/bash или что-то подобное. Возможно, это можно включить?

Ох уж эти бедные пользователи Linux. На системах, которые _я_ администрирую, /bin/sh не является ссылкой на /bin/bash. Я об этом упомяну. -- drj

В Mac OS X v10.4 установлен sh, но bash — оболочка по умолчанию. Dread Lord C y b e r S k u l l ✎☠ 10:49, 2005 1 сентября (UTC)

Debian предлагает оболочку dash[2], которая разработана так, чтобы быть небольшой и sh-совместимой, и может использоваться как символическая ссылка на /bin/sh; ища ее, я также наткнулся на нечто под названием shish[3]. Дело в том, что многие скрипты оболочки используют это как свою строку shebang , поэтому они будут работать эффективнее, если вы создадите символическую ссылку на что-то более эффективное. - IMSoP 12:45, 1 сентября 2005 (UTC) [ ответить ]
Кстати, shebang — это модное словечко, которое должно обязательно присутствовать в этой статье. — Джером Поттс ( обсуждение ) 03:52, 15 августа 2009 (UTC) [ ответить ]

Отсутствует контент

Здесь можно было бы разместить гораздо больше. Не нужно много времени, чтобы описать генеалогическое древо различных оболочек Unix и сравнить несколько функций. Действительно ли верно описывать Bourne как просто фактический стандарт? Я помню (но не могу вспомнить подробности), что в ранние дни была «война оболочек», которую выиграл Bourne (над другим конкурентом Bell Labs, я думаю; определенно не csh ). Я предполагаю, что все эти любопытные ссылки на подстраницу под названием bin — просто излишне усердная викификация? Пользователь: Тим Гудвин


Этимология термина «ракушка»

Я искал в Википедии, почему unix "shell" так называется. Может быть, было бы хорошей идеей поместить это в... --BilboEd

О, я вижу, это старый вопрос, на который никогда не было дано прямого ответа. Статья теперь охватывает этот момент. - IMSoP 14:31, 1 сентября 2005 (UTC) [ ответить ]

Оболочки, перечисленные по совместимости

Я отсортировал список оболочек внизу страницы по совместимости с Bourne, C shell или ни с одной из них. (И прежде чем вы спросите, почему rc и es не получили свою собственную категорию... потому что Bourne и C-shell являются традиционными основными оболочками Unix, в то время как rc , похоже, не так широко используется за пределами Plan 9, а es , единственная совместимая с rc оболочка, по-видимому, была заброшена с 1997 года, вот почему.) Beinsane 07:18, 25 декабря 2005 (UTC) [ ответить ]

Несортированные комментарии по теме Unix shell

Просто хотел указать на некоторые неточности на этих страницах. Пожалуйста, отнеситесь ко мне с пониманием, я не знаком с Википедией, и английский не мой родной язык.

Я читаю:

Термин «оболочка» также относится к конкретной программе, а именно к оболочке Bourne, sh.

Это совершенно неверный подход. Я бы сказал так. Термин shell относится к программе sh. sh принимала различные формы в истории Unix от оболочки Thomson, пройдя через оболочки Bourne (все ее реализации) и теперь современные shs. Современные shs теперь определены открытой спецификацией, которая в основном является надмножеством оболочек Bourne. Таким образом, "sh" современных Unix являются той или иной реализацией этой спецификации. Известными реализациями спецификации sh являются ksh (первая и из которой произошла спецификация), bash (когда она называется sh), FreeBSD shs (основанная на оболочке Almquist), zsh (когда она называется sh), pdksh и ее производные (posh, MirBSD ksh...). Некоторые системы, такие как Solaris, имеют более одной программы sh: стандартную и оболочку Bourne для обратной совместимости для скриптов, написанных в синтаксисе Bourne до того, как была выпущена спецификация sh (где-то в начале девяностых).

Оболочка Bourne, как правило, больше не располагается как /bin/sh. Это касается только некоторых очень редких систем (например, Solaris, упомянутого выше). Во многих системах вообще больше нет оболочки Bourne, а когда она есть, она обычно находится либо в нестандартном месте, например, /usr/old/bin, либо имеет другое имя, например, bsh или sh.bourne. Код sh не был сделан свободным до недавнего времени. Вот почему ни одна свободная система Unix никогда не имела его (за исключением ранних BSD, которые были причиной судебных исков, BSD затем приняли оболочку Almquist, которая была свободной реализацией оболочки Bourne, поскольку ее можно было найти в SysV с некоторыми расширениями, и теперь она сделана соответствующей POSIX (современная sh)).

Многие скрипты по-прежнему написаны с использованием синтаксиса, совместимого с Bourne, но только потому, что он является наибольшим общим знаменателем sh прошлых и современных Unix-систем. sh часто путают с оболочкой Bourne, поскольку sh долгое время была оболочкой Bourne на многих системах.

Некоторые комментарии об оболочках Windows. Можно отметить, что все бесплатные оболочки Unix (zsh, bash, pdksh...) доступны для Windows через бесплатное программное обеспечение адаптации Unix Cygwin.

Команда echo $SHELL для определения текущей оболочки неверна. $SHELL — предпочтительная оболочка пользователя. Она инициализируется "login" как оболочка входа пользователя и может быть изменена пользователем, чтобы сообщить приложениям, какая оболочка является его выбором. ps -p "$$" с большей вероятностью сообщит, какая оболочка в данный момент интерпретирует эту командную строку (ps -p $pid для rc/es) — Предыдущий неподписанный комментарий добавлен Stephane Chazelas (обсуждение • contribs ) 16:50, 9 сентября 2006 (UTC) [ ответить ]

Не все оболочки Unix совместимы с оболочкой Bourne; оболочка C и ее варианты, такие как tcsh , несовместимы, а оболочки в версии 6 Unix ( оболочка Thompson ) и PWB/UNIX ( оболочка PWB или « оболочка Mashey » ) появились раньше оболочки Bourne и не были с ней совместимы.
Я подозреваю, что некоторые коммерческие Unix, отличные от Solaris, также имеют оболочку Bourne как /bin/sh. Гай Харрис 12:06, 14 ноября 2007 (UTC) [ ответить ]

Вопросы

  • « Оболочка Unix — это интерпретатор командной строки (см. оболочка) и хост скриптов, который предоставляет традиционный пользовательский интерфейс для операционной системы Unix и для Unix-подобных систем » .
    • Может ли кто-нибудь определить хост скрипта?
  • Может ли кто-нибудь дать определение оболочке POSIX ?

Спасибо, -- Абдулл ( обсуждение ) 20:38, 3 марта 2010 (UTC) [ ответить ]

Предложение объединиться сОболочкастатья

Hm2k предложил объединить статью об оболочке Unix со статьей об оболочке ( вычислительная техника) и обсудить это здесь.

  • Держитесь отдельно. Да, оболочка Unix — это тип оболочки, но все оболочки — это типы программного обеспечения, так где же прекратить слияние? Я думаю, что есть некоторые определяющие характеристики оболочки Unix (например, она ориентирована на командную строку, а не на графику, это относительно тонкий слой, предназначенный для раскрытия, а не сокрытия ОС, и он включает в себя определенные характерные особенности, такие как подстановочные знаки, словарь фильтров, таких как grep и sed, подключенных через каналы, и т. д.), которые предыдущие поколения интерфейсов командной строки (например, VM/CMS или TSO от IBM) не предлагали. Это была основополагающая работа. Причина, по которой мы используем такие слова, как каналы, подстановочные знаки и оболочка, для обозначения вещей в компьютерной науке, заключается в том, что оболочки Unix ввели эти термины. Текущая статья могла бы быть намного лучше в изложении этих определяющих характеристик. Например, я немного скептически отношусь (не будучи знакомым со всеми из них), все ли перечисленные «экзотические» оболочки на самом деле являются оболочками Unix или просто оболочками, работающими на Unix. Но если сваливать оболочки Unix в одну кучу со всеми остальными оболочками (что, давайте посмотрим правде в глаза, может означать что угодно с пользовательским интерфейсом), я думаю, это нанесет ущерб интеллектуальной и исторической значимости оболочек Unix. Msnicki ( обсуждение ) 15:45, 14 июля 2010 (UTC) [ ответ ]

Статья с личным мнением

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

Следует удалить. — Предыдущий неподписанный комментарий добавлен 92.7.74.215 (обсуждение) 07:00, 5 января 2011 (UTC) [ ответить ]

Различия в оболочках

Чем одна оболочка отличается от другой? В статье объясняется, что такое оболочка, и приводится их список, но в чем разница? Разве одна команда Unix/Linux в одной оболочке не выполняется в другой? - Rolypolyman ( обсуждение ) 05:27, 22 января 2011 (UTC) [ ответить ]

Историческая точность

Обозначение конвейера существовало в оболочке Unix (например, в пятом издании Unix) до появления оболочки Bourne; в одном из ранних абзацев здесь подразумевается, что оболочка Bourne ввела конвейеры. -- Джек Во

Хороший ответ. Согласен. Оболочки Mashey и Thompson обе предшествовали оболочке Bourne, и каждая имела некоторые из перечисленных функций. Точнее было бы сказать, что оболочка Bourne была первой, получившей широкое распространение, и именно она определила этот базовый набор функций, которые люди ожидают от любой оболочки Unix, особенно после выхода книги Кернигана и Пайка «Среда программирования Unix». Но вы абсолютно правы, она была не первой, в которой были все эти функции. Нам также нужно найти некоторые фактические цитаты. Msnicki ( обсуждение ) 22:50, 16 марта 2011 (UTC) [ ответить ]

Для выбора другой оболочки требуются права суперпользователя?

В статье в настоящее время говорится:

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

Я мог бы попытаться угадать, что это на самом деле означало.

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

Программа chsh, которая изменяет поле оболочки по умолчанию в /etc/passwd, существует уже несколько десятилетий и позволяет обычным пользователям изменять свою оболочку по умолчанию, поэтому даже для изменения оболочки по умолчанию пользователю не требуются права суперпользователя.

Если это имеет значение, ничто не требует, чтобы оболочка по умолчанию для идентификатора пользователя была интерпретатором командной строки. Если в системе есть пользователи, которые настаивают, что они хотят использовать систему только для редактирования, и не хотят разбираться, как использовать другие запутанные программы системы, их оболочка по умолчанию может быть изменена на программу редактирования. Geo Swan ( обсуждение ) 16:55, 14 октября 2011 (UTC) [ ответить ]

Файлы конфигурации для csh

В разделе Файлы конфигурации для оболочек говорится, что /etc/csh.cshrc и /etc/csh.login используются csh. Похоже, это не относится к csh SunOS 4.1.4. Я проверил это, и на странице руководства для csh сказано:

ФАЙЛЫ ~/.cshrc Читается в начале выполнения каждым оболочка. ~/.login Читается оболочками входа после .cshrc в авторизоваться. ~/.logout Читается оболочками входа при выходе из системы. ~/.history Сохранение истории для использования при следующем входе в систему. /tmp/sh* Временный файл для `<<'. /etc/passwd Источник домашних каталогов для `~name'.

Процесс запуска

В статье говорится:

В системах Unix оболочка по-прежнему является языком реализации сценариев запуска системы, включая программу, запускающую оконную систему, программы, обеспечивающие доступ к Интернету, и многие другие важные функции.

Я считаю, что это не совсем так. Системщики изо всех сил пытаются исключить роль оболочки в запуске системы. — Предыдущий неподписанный комментарий добавлен 89.67.52.124 (обсуждение) 15:22, 21 июля 2013 (UTC) [ ответить ]

— Предыдущий неподписанный комментарий добавлен Theowoll ( обсуждениевклад ) 18:04, 16 марта 2013 (UTC) [ ответить ]

Тот факт, что существует шаблон main , не означает, что его следует использовать в любой ситуации. Использование здесь противоречит тому, что даже указано в документации шаблона. Его не следует использовать для избежания встроенных ссылок. К сожалению, люди делают это постоянно, не изучив достоинства. Эти основные ссылки нарушают поток разделов и статей. Акцент делается на навигации, а не на содержании. Наличие заголовка раздела, затем основной ссылки и еще одного упоминания того же заголовка в первом предложении раздела, часто в самых первых словах, делает стиль плохим. Простой встроенной ссылки вполне достаточно. Kbrose ( talk ) 18:23, 3 апреля 2014 (UTC) [ ответить ]

Для меня ссылки {{ Main }} очень полезны при чтении статей, поскольку они четко указывают, что раздел — это всего лишь резюме гораздо более обширной статьи. Они могут быть неуклюжими и выглядеть глупо, я согласен, но для меня они особенно полезны при беглом просмотре статьи; во многих случаях я сразу перехожу к указанной статье, вместо того чтобы тратить время на поиск ссылки в резюме.
Кстати, речь идет о включении ссылок {{ Main }} в разделы  Unix shell § Bourne shell и Unix shell § C shell . — Dsimic  ( обсуждение  |  вклад ) 18:49, 4 апреля 2014 (UTC) [ ответ ]

Добросовестное использование изображения рабочего стола поставлено под сомнение

RJaguar3 поставил под сомнение добросовестное использование изображения рабочего стола, File:TcshAndShScreenCapture.png, которое появляется в верхней части этой статьи, утверждая, что "Свободное изображение может быть взято из командной оболочки в Linux без всех несвободных элементов (таких как панель задач внизу изображения)". Я создал скриншот около 5 лет назад и предложил свои мысли, объяснив, почему я считаю его приемлемым. Но я предполагаю, что каждый волен высказать по этому вопросу свои собственные мысли. Msnicki ( обсуждение ) 21:52, 7 марта 2015 (UTC) [ ответ ]

Здравствуйте! Хм, я не уверен, что это возражение разумно, если изображение не загружено на Wikimedia Commons. Для меня наличие скриншота рабочего стола OS X не повредит, и OS X формально даже ближе к представлению «истинного Unix», чем Linux. :) Однако, пожалуйста, имейте в виду, что я ни в коем случае не эксперт, когда дело касается различных вопросов, связанных с лицензированием. —  Dsimic  ( обсуждение  |  вклад ) 14:52, 13 марта 2015 (UTC) [ ответ ]
Спасибо, Dsimic . Маловероятно, что какой-либо администратор, который рассматривает возражение, прочтет какие-либо комментарии здесь, поэтому, если вы хотите, чтобы ваше мнение было учтено, вероятно, будет полезно добавить его на саму страницу файла. Msnicki ( talk ) 14:59, 13 марта 2015 (UTC) [ ответить ]
Пожалуйста. :) На самом деле, я хотел это сделать, но не видел обсуждений на File talk:TcshAndShScreenCapture.png . Не могли бы вы указать фактическую страницу? —  Dsimic  ( talk  |  contribs ) 15:13, 13 марта 2015 (UTC) [ ответить ]
Это первый раз, когда я столкнулся с возражением о добросовестном использовании, поэтому я просто догадываюсь, как ответить. Но я думаю, вам нужно добавить тег {{ di-replaceable fair use discouraged | Your reason that a free replacement can be found or created }}. Похоже, что любой, кто хочет прокомментировать, должен это сделать. Msnicki ( talk ) 15:21, 13 марта 2015 (UTC) [ reply ]
Я бы сказал, что пометка файла как будет неверным решением, так как технически есть возможность создать полностью бесплатную замену. Я бы сказал, что лучшее, что мы можем сделать, это отметить, что есть связанное обсуждение. —  Dsimic  ( talk  |  contribs ) 16:02, 13 марта 2015 (UTC) [ ответить ]{{Di-replaceable fair use disputed}}

Полностью фальшивая история в основном обсуждении, лучше в последующих таблицах

На самом деле оригинальную оболочку UNIX написал Кен Томпсон, а не Стив Борн.

Серьёзное использование оболочки в качестве языка сценариев произошло в 1975 году с появлением [PWB shell], и это описывает историю.

Использование командного языка как языка программирования высокого уровня было докладом на конференции IEEE COMPSAC 1976 года. Прочитайте его, чтобы узнать, какие функции были добавлены в оболочку Томпсона. В то время этот сайт был крупнейшим комплексом UNIX общего пользования в Bell Labs, поэтому там было много пользователей.

Обратите внимание, что дело было не столько в том, что Bourne sh "выиграл" у конкурентов, сколько в том, что я уже расширил PWB SH настолько, насколько это имело смысл, чтобы оставаться совместимым снизу вверх, и провел *много* времени в обсуждениях со Стивом о функциях SH, а с ним и Деннисом о соответствующих функциях ОС, таких как переменные среды, которые закрепились только в начале 1978 года. Многие другие участвовали в совещаниях "целевой группы оболочки". Люди были рады перейти на что-то написанное с нуля (хотя ALgol 68 не был так популярен), но не хотели терять функциональность, которая оказалась полезной за годы использования. Стив потратил много времени на настройку производительности и добавление функций, чтобы получить поддержку от большого сообщества пользователей PWB SH.

Итак, реальная история: 1969 - оболочка Томпсона, в основном для терминального использования и простых скриптов.

1975 - Оболочка PWB, включающая переменные, больше управляющих структур, поиск пути и т. д. ... все необходимое для широкого использования

1977-1978 много обсуждений, у меня до сих пор сохранились некоторые заметки. Функция Environment Variable не была установлена ​​до начала 1978 года, а UNIX V7 появился позже.

1978- - C-shell, особенно важен для интерактивных функций JohnMashey ( обсуждение ) 23:34, 25 сентября 2015 (UTC) [ ответить ]

1979 - UNIX V7 с оболочкой Bourne, выпущенной внешней компанией, насколько я помню JohnMashey ( обсуждение ) 02:42, 30 сентября 2015 (UTC) [ ответить ]

Большое спасибо JohnMashey за его полезные предложения. Я сделал проход, пытаясь реорганизовать материал соответствующим образом. Я приветствую дополнительные предложения. Msnicki ( обсуждение ) 19:03, 24 октября 2015 (UTC) [ ответить ]
@ JohnMashey : В недавнем докладе на конференции BSD Стивен Борн упомянул, что разработка Bourne Shell началась в 1976 году. Видеослайды доклада см. на стр. 13 и далее. Можете ли вы это подтвердить? Кстати: я спрашиваю об этом, потому что мне нравится иметь правильный раздел об авторах на странице руководства Bourne Shell, которую я поддерживаю (см. последнюю страницу руководства Bourne Shell) Schily ( доклад ) 10:32, 27 октября 2015 (UTC) [ ответить ]
@Schily: Да, 1976 год — это правильно. Как уже отмечалось, много обсуждений было в 1977 году (когда я перешел в Murray Hill, в отдел поддержки UNIX, и Bell пытался объединить многочисленные варианты UNIX, надеясь добавить несколько ключевых вещей в V7, а затем добавить функции сверх этого для различных целевых применений). JohnMashey ( обсуждение ) 19:53, 27 июня 2017 (UTC) [ ответить ]
@Schily: Извините, я только что перепроверил себя и обнаружил, что ошибся на 3 года. Aige02 в gmail ( обсуждение ) 20:12, 11 февраля 2021 (UTC) [ ответить ]

Раздел файлов конфигурации

Действительно ли эта таблица полезна? Я склонен выбросить все это и сократить весь раздел до пары предложений, чтобы объяснить, что поведение оболочки Unix обычно можно настроить с помощью скриптов конфигурации, выполняемых при запуске и выходе. Прежде чем я удалю всю таблицу, что может вызвать недовольство у людей, могу ли я услышать несколько комментариев, пожалуйста? Msnicki ( talk ) 19:03, 24 октября 2015 (UTC) [ ответить ]

Конечно, это полезно. Schily ( обсуждение ) 10:47, 27 октября 2015 (UTC) [ ответить ]
Я добавил этот раздел давно, потому что нигде его не находил. Taxi1729 ( обсуждение ) 09:07, 13 октября 2016 (UTC) [ ответить ]
Я тоже нашел это полезным; мне иногда нужно искать эту информацию, так как я использую ksh, а большинство остальных в моем проекте используют bash. MeekMark ( обсуждение ) 14:34, 17 июня 2021 (UTC) [ ответ ]

Запутанное предложение в разделе «Ранние ракушки»

В https://en.wikipedia.org/wiki/Unix_shell#Early_shells есть предложение:

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

Учитывая контекст этого раздела, фраза «эти внешние команды» не имеет смысла – я не думаю, что раздел упоминает внешние команды где-либо еще, кроме этой фразы. Я знаю, что есть некоторые внешние команды, такие как echo, которые являются внешними командами, а также встроенные команды оболочки.

MeekMark ( обсуждение ) 14:45, 17 июня 2021 г. (UTC) [ ответ ]

Происхождение слова «ракушка»

В статье говорится: «Оболочка скрывает детали базовой операционной системы...»

Это интуитивно понятно, привлекательно и неверно в качестве объяснения происхождения термина. В меморандуме Луи Пузена 1965 года[4] было ясно указано, что «внутри» оболочки находится не операционная система (супервизор), а процедуры, которые она запускала (стр. R-3). Целью его оболочки было создание и последующее взаимодействие с активными процедурами. Это то, что делают и оболочки Unix, заменяя «активную процедуру» на «процесс». — Предыдущий неподписанный комментарий добавлен 170.41.209.67 (обсуждение) 15:54, 26 августа 2022 (UTC) [ ответить ]

Для некоторого контекста, модель в Multics заключалась в том, что команды были подпрограммами («процедурами» в терминологии PL/I), и вызов команды включал вызов подпрограммы для подпрограммы для команды. Учитывая, что Multics сделал относительно простым нахождение во время выполнения исполняемого файла кода, содержащего подпрограмму, и вызов процедуры в нем, это означало, что команды не нужно было компилировать в командный интерпретатор. (Сама оболочка также была подпрограммой.)
По крайней мере, в UN*X и Windows, а также в ОС, созданных на их основе, команды представляют собой исполняемые образы, которые должны быть запущены в процессе, а не подпрограммы, которые должны быть вызваны внутри процесса, поэтому вызов команды подразумевает, что оболочка создает новый процесс, запускающий исполняемый образ для команды. (Сама оболочка является исполняемым образом.)
Итак, оболочка скрывает некоторые детали, а именно, вызов процедуры с заданным строковым именем (имя команды) для процедуры и передачу ей аргументов в Multics, или создание нового процесса, запускающего исполняемый образ с заданным строковым именем (имя команды) для образа и передачу ей аргументов. Однако это единственные скрытые детали; она не скрывает все «детали операционной системы» (что бы ни подразумевала эта расплывчатая и широкая фраза). Гай Харрис ( talk ) 20:10, 26 августа 2022 (UTC) [ ответить ]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Talk:Unix_shell&oldid=1199473438"