tcsh - tcsh

редактировать
Оболочка Unix на основе и совместимая с C shell
TENEX C Shell
Снимок экрана с примером сеанса tcsh Снимок экрана с примером сеанса tcsh
Разработчик (и) Кен Грир, Пол Плейсвей, Христос Зулас и др.
Стабильный выпуск 6.22.00 / 28 ноября 2019 г.; 11 месяцев назад (28.11.2019)
Репозиторий Измените это в Викиданных
Написано наC
Операционной системе Cross- платформа
Тип оболочка Unix
Лицензия Лицензия BSD
Веб-сайтwww.tcsh.org

tcsh («tee-see-shell», «tee-shell» или как «tee see ess aitch», tcsh) - это Unix. оболочка на основе и обратно совместимая с оболочкой C (csh).

Содержание

  • 1 Оболочка
  • 2 История
  • 3 Важные функции
  • 4 Развертывание
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

Оболочка

По сути, это оболочка C с программируемым завершением командной строки, редактированием командной строки и некоторыми другими функциями. В отличие от других распространенных оболочек, функции не могут быть определены в сценарии tcsh, и вместо этого пользователь должен использовать псевдонимы (как в csh). Это нативная корневая оболочка для систем на основе BSD, таких как FreeBSD.

tcsh с добавленным именем файла и концепциями завершения команд и редактирования командной строки, заимствованными из операционной системы TENEX, которая является источником «Т». Поскольку он только добавлял функциональность и не менял того, что было, tcsh оставался обратно совместимым с исходной оболочкой C. Хотя он начинался как побочная ветвь от исходного дерева исходных текстов csh, созданного Биллом Джоем, теперь tcsh является основной ветвью для продолжающейся разработки.

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

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

В Debian и некоторых производных (включая Ubuntu ) есть два разных пакета: cshи tcsh. Первый основан на исходной версии csh для BSD, а второй - на улучшенном tcsh.

История

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

Важные функции

  • История команд
    • Встроенный Команда historyотображает ранее введенные команды
    • Использование / в командной строке, чтобы позволить пользователю выбрать команду из истории для редактирования / выполнения
    • Вызов предыдущих команд использование истории команд
      • !!выполняет предыдущую команду
      • !nвыполняет n-ю команду, которая была выполнена ранее
      • ! -nвыполняет команду, которая была выполнена n команд назад
      • ! stringвыполняет последнюю выполненную команду, которая начинается со строки
      • !? stringвыполняет последнюю выполненную команду, содержащую строку
    • Использование истории в новых командах
      • !*- относится ко всем аргументам из предыдущей команды
      • !$- относится к последнему аргументу предыдущей команды
      • !^- относится к первому аргументу предыдущей команды
      • !: N- относится к n аргументам t из предыдущей команды
      • !: mn- относится к аргументам от m до n из предыдущей команды
      • !: n- $- относится к n до последнего аргумента предыдущей команды
  • Редактирование командной строки
  • Автозаполнение имен файлов и переменных, а также программируемое завершение в командной строке
  • Селекторы аргументов псевдонима; возможность определять псевдоним, чтобы принимать предоставленные ему аргументы и применять их к командам, на которые он ссылается. Tcsh - единственная оболочка, которая предоставляет эту функцию.
    • \! #- селектор аргументов для всех аргументов, включая сам псевдоним / команду; аргументы указывать не нужно.
    • \! *- селектор аргументов для всех аргументов, кроме псевдонима / команды; аргументы указывать не нужно.
    • \! $- селектор аргументов для последнего аргумента; аргумент указывать не обязательно, но если он не указан, псевдоним считается последним аргументом.
    • \! ^- селектор аргумента для первого аргумента; ДОЛЖЕН быть указан аргумент.
    • \ !: n- селектор аргументов для аргумента n; ДОЛЖЕН быть указан аргумент; n = 0 относится к псевдониму / имени команды.
    • \ !: m-n- селектор аргументов для аргументов от m до n; ДОЛЖНЫ быть предоставлены аргументы.
    • \ !: n- $- селектор аргументов для аргументов от n до последнего; ДОЛЖЕН быть предоставлен как минимум аргумент n.
    • \ !: n *- селектор аргументов для аргументов от n до последнего; не требуется указывать достаточные аргументы.
      # Использует команду cd, чтобы при смене каталогов сразу же отображалось содержимое. alias cd 'cd \! * ls'
  • Соответствие подстановочных знаков
    if ("$ input" = ~ [0-9] *) then echo "ввод начинается с целого числа" else echo " ввод НЕ начинается с целого числа "endif
  • Управление заданием
  • Встроенная команда where. Работает аналогично команде which, но показывает все местоположения целевой команды в каталогах, указанных в $ PATH, а не только в том, который будет использоваться.

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

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

См. Также

  • Портал бесплатного программного обеспечения и программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-09 11:26:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте