Jump to content

ткш

«ТЕНЕКС С Шелл»
Разработчик(и) Кен Грир, Пол Плейсуэй, Христос Зулас и др.
Стабильная версия
6.24.13 [1]  Отредактируйте это в Викиданных / 12 июня 2024 г .; 51 день назад ( 12 июня 2024 г. )
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Тип оболочка Unix
Лицензия 2002: Пункт BSD-3 [2] [3]
1991: Статья BSD-4 [4]
Веб-сайт www .tcsh .org

tcsh ( / ˌ t ˈ s ʃ ɛ l / «tee-see-shell», / ˈ t ʃ ɛ l / «tee-shell», или как «teesee ess aitch», tcsh) — это оболочка Unix , основанная на и обратно совместимая с ней оболочке C ( csh).

Оболочка

[ редактировать ]

По сути, это оболочка C с программируемым завершением командной строки , редактированием командной строки и некоторыми другими функциями. В отличие от других распространенных оболочек, функции не могут быть определены в сценарии tcsh, и вместо этого пользователь должен использовать псевдонимы (как в csh). Это собственная корневая оболочка для некоторых систем на базе BSD, включая FreeBSD 13 и более ранние версии. (В FreeBSD 14 корневая оболочка по умолчанию изменена на sh чтобы соответствовать пользовательской оболочке по умолчанию [5] тогда как OpenBSD использует оболочку Korn ksh как для root, так и для обычных пользователей. [6] )

В tcsh добавлены концепции завершения имен файлов и команд, а также редактирования командной строки, заимствованные из операционной системы АО «Техснабэкспорт» , которая является источником буквы «t». [7] Поскольку он только добавлял функциональность и не менял того, что было, tcsh оставался обратно совместимым. [8] с оригинальной оболочкой C. Несмотря на то, что tcsh начинался как побочная ветвь исходного дерева исходного кода csh, Биллом Джоем созданного , сейчас tcsh является основной ветвью для продолжающейся разработки.

tcsh очень стабилен, но новые выпуски продолжают появляться примерно раз в год и состоят в основном из мелких исправлений ошибок. [9]

Во многих системах, таких как macOS и Red Hat Linux , csh на самом деле tcsh. Часто один из двух файлов является либо жесткой ссылкой , либо символической ссылкой на другой, так что любое имя относится к одной и той же улучшенной версии оболочки C (хотя поведение может быть изменено в зависимости от того, какое имя используется).

В Debian и некоторых его производных (включая Ubuntu ) есть два разных пакета: csh и tcsh. Первый основан на оригинальной версии csh для BSD. [10] [11] и последний — улучшенный tcsh. [12] [13]

Буква «т» в tcsh происходит от буквы «T» в TENEX , операционной системе , которая вдохновила Кена Грира из Университета Карнеги-Меллона , автора tcsh, с его функцией завершения команд. [14] Грир начал работать над своим кодом для реализации завершения имен файлов в стиле Tenex в сентябре 1975 года и, наконец, объединил его с оболочкой C в декабре 1981 года. [7] Майк Эллис из Fairchild AI Labs добавил завершение команд в сентябре 1983 года. [7] 3 октября 1983 года Грир разместил источник в группе новостей net.sources. [7]

Важные особенности

[ редактировать ]
  • История команд
    • Встроенный history команда отображает ранее введенные команды
    • Использование / в командной строке, чтобы позволить пользователю выбрать команду из истории для редактирования/выполнения
    • Вызов предыдущих команд с использованием истории команд
      • !! выполняет предыдущую команду
      • !n выполняет n-ю команду, которая была выполнена ранее
      • !-n выполняет команду, которая была выполнена n команд назад
      • !string выполняет последнюю выполненную команду, которая начинается со строки
      • !?string выполняет последнюю выполненную команду, содержащую строку
    • Использование истории в новых командах
      • !* - относится ко всем аргументам предыдущей команды
      • !$ - относится к последнему аргументу предыдущей команды
      • !^ - относится к первому аргументу предыдущей команды
      • !:n - относится к н. й аргумент из предыдущей команды
      • !:m-n - относится к м й через н й аргументы из предыдущей команды
      • !:n-$ - относится к н. й через последний аргумент предыдущей команды
  • Редактирование командной строки
  • Автодополнение имен файлов и переменных, а также программируемое завершение в командной строке.
  • Селекторы аргументов псевдонимов; возможность определять псевдоним, чтобы принимать предоставленные ему аргументы и применять их к командам, на которые он ссылается. Tcsh — единственная оболочка, предоставляющая эту возможность (вместо функций).
    • \!# - селектор аргументов для всех аргументов, включая сам псевдоним/команду; аргументы приводить не нужно.
    • \!* - селектор аргументов для всех аргументов, за исключением псевдонима/команды; аргументы приводить не нужно.
    • \!$ - селектор аргумента для последнего аргумента; Аргумент указывать не обязательно, но если он не указан, псевдоним считается последним аргументом.
    • \!^ - селектор аргумента для первого аргумента; аргумент ДОЛЖЕН быть указан.
    • \!:n - селектор аргументов для n й аргумент; аргумент ДОЛЖЕН быть указан; n=0 относится к псевдониму/имени команды.
    • \!:m-n - селектор аргументов из m й к н й ; аргументы ДОЛЖНЫ быть предоставлены.
    • \!:n-$ - селектор аргументов для аргументов из n й до последнего; ДОЛЖЕН быть указан как минимум аргумент n.
    • \!:n* - селектор аргументов для аргументов из n й до последнего; достаточные аргументы не требуются.
      #Alias the cd command so that when you change directories, the contents are immediately displayed.
      alias cd 'cd \!* && ls'
      
  • Соответствие подстановочным знакам
    if ( "$input" =~ [0-9]* ) then
      echo "the input starts with an integer"
    else
      echo "the input does NOT start with an integer"
    endif
    
  • Контроль заданий
  • Встроенный where команда. Работает как which команда, но показывает все местоположения целевой команды в каталогах, указанных в $PATH а не только тот, который будет использоваться.

Развертывание

[ редактировать ]

Ранние версии Mac OS X поставлялись с tcsh в качестве оболочки по умолчанию, но по умолчанию для новых учетных записей стал bash с версии 10.3 , а — zsh с версии 10.15 . (tcsh по-прежнему предоставляется, и обновление ОС не меняет оболочку существующих учетных записей). tcsh был корневой оболочкой по умолчанию во FreeBSD до версии 14.0 (текущая оболочка и пользовательская оболочка по умолчанию в более старых версиях основаны на POSIX ) [15] [16] [17] и его потомки, такие как DragonFly BSD и DesktopBSD .

См. также

[ редактировать ]
  1. ^ «Релиз 6.24.13» . 12 июня 2024 г. Проверено 26 июня 2024 г.
  2. ^ "удалить пункт 3 авторских прав" . Гитхаб . 8 марта 2002 г.
  3. ^ "Удалить пункт 3 авторских прав (изменён в других файлах 8 марта 2002 г.)" . Гитхаб . 14 июля 2014 г.
  4. ^ «Выпуск Tcsh-6.00» . Гитхаб . 04.07.1991.
  5. ^ «Краткое руководство FreeBSD для пользователей Linux» .
  6. ^ «OpenBSD для пользователей Linux» .
  7. ^ Jump up to: а б с д Кен Грир (3 октября 1983 г.). «Оболочка C с распознаванием/дополнением команд и имен файлов» . Группа новостей : net.sources . Проверено 29 декабря 2010 г.
  8. ^ Справочная страница tcsh(1) . ткш.
  9. Файл исправлений в tcsh-17 июня 2000 г.
  10. ^ Ubuntu — Подробная информация о пакете csh . Пакеты.ubuntu.com.
  11. ^ Debian — Подробная информация о пакете csh . Пакеты.debian.org.
  12. ^ Ubuntu — Подробная информация о пакете tcsh . Пакеты.ubuntu.com.
  13. ^ Debian — Подробная информация о пакете tcsh . Пакеты.debian.org.
  14. ^ «Т в tcsh» . Архивировано из оригинала 14 апреля 2012 года . Проверено 31 октября 2013 г.
  15. ^ Майкл Урбан; Брайан Тиманн (2002). Сэмс изучит FreeBSD за 24 часа . Издательство Самс. п. 56. ИСБН  978-0-672-32424-6 .
  16. ^ Командный язык оболочки POSIX 2008 «Оболочка System V была выбрана в качестве отправной точки для тома «Оболочка и утилиты» POSIX.1-2008. Оболочка BSD C была исключена из рассмотрения»
  17. ^ «Краткое руководство FreeBSD для пользователей Linux» . Портал документации FreeBSD . Проверено 4 февраля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ec37ee8e1f94a1ecfb27ef5e3b91ea8f__1717705380
URL1:https://arc.ask3.ru/arc/aa/ec/8f/ec37ee8e1f94a1ecfb27ef5e3b91ea8f.html
Заголовок, (Title) документа по адресу, URL1:
tcsh - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)