tcsh

tcsh
테넥스 C 쉘
TC Shell.png
샘플 tcsh 세션의 스크린샷
개발자Ken Greeer, Paul Placeway, Christos Zoulas 등
안정된 릴리스
6.22.04[1] / 2021년 4월 26일; 15개월 전 (2021년 4월 26일)
저장소
기입처C
운영 체제크로스 플랫폼
유형Unix 쉘
면허증.2002: BSD-3-Clause[2][3]
1991년: BSD-4-Clause[4]
웹 사이트www.tcsh.org

tcsh(/tea-see-shell), /te-see-shell/te-shell 또는 "tee-see ess aitch",tcsh)는 C 쉘(C 쉘)에 기반한 Unix 쉘하위 호환성이 있습니다.csh).

껍데기

기본적으로 C 쉘은 프로그램 가능한 명령줄 완성, 명령줄 편집 및 기타 몇 가지 기능을 갖추고 있습니다.다른 일반적인 셸과는 달리 함수는 tcsh 스크립트로 정의할 수 없으며 대신 에일리어스를 사용해야 합니다(csh와 같음).FreeBSD와 같은 BSD 기반 시스템의 네이티브 루트 셸입니다.

tcsh는 TENEX 운영체제에서 차용한 파일 이름, 명령어 완료 및 명령줄 편집 개념을 추가했습니다.이 개념은 "[5]t"의 소스입니다.tcsh는 기능만 추가하고 기존 기능을 변경하지 않았기 때문에 원래 C 쉘과의 하위[6] 호환성을 유지했습니다.Bill Joy가 작성한 원래 csh 소스 트리에서 사이드 브랜치로 시작했지만, 현재 tcsh는 지속적인 개발을 위한 주요 브랜치입니다.

tcsh는 매우 안정적이지만, 새로운 릴리스는 1년에 한 번 정도 계속 나타나며, 대부분은 사소한 버그 [7]수정으로 구성됩니다.

MacOSRed Hat Linux와 같은 많은 시스템에서csh사실tcsh두 파일 중 하나는 하드링크이거나 다른 파일과의 심볼릭링크인 경우가 많기 때문에 어느 하나의 이름이 C 쉘의 개량된 버전을 나타냅니다.

Debian 및 일부 파생 모델(Ubuntu 포함)에는 두 가지 다른 패키지가 있습니다.csh그리고.tcsh전자는 원래 BSD 버전의 csh를[8][9] 기반으로 하고 후자는 개선된 [10][11]tcsh를 기반으로 합니다.

역사

의 "t"는tcshtcsh의 저자인 카네기 멜론 대학의 Ken Greeer에게 명령어-완성 [12]기능으로 영감을 준 운영체제TENNEX의 "T"에서 유래했습니다.Greeer는 1975년 9월에 Tenex 스타일의 파일 이름 완성을 구현하기 위한 코드 작업을 시작했고,[5] 1981년 12월에 마침내 C 쉘에 통합했습니다.페어차일드 A의 마이크 엘리스입니다I.Labs는 1983년 [5]9월에 명령 완료를 추가했습니다.1983년 10월 3일, 그리어는 소스를 인터넷에 올렸습니다.소스 뉴스 그룹.[5]

중요한 기능

  • 명령어 이력
    • 빌트인history명령어는 이전에 실행한 명령어를 표시합니다.
    • 사용방법 / 명령줄에서 사용자가 편집/삭제할 명령을 선택할 수 있습니다.
    • 명령 내역을 사용한 이전 명령 호출
      • !!이전 명령어를 실행합니다.
      • !n이전에 실행된n번째 명령어를 실행합니다.
      • !-nn개의 명령어 전에 실행된 명령어를 실행합니다.
      • !stringstring으로 시작하는 가장 최근에 실행된 명령어를 실행합니다.
      • !?string문자열이 포함된 가장 최근에 실행된 명령어를 실행합니다.
    • 새 명령에서 기록 사용
      • !*- 이전 명령어의 모든 인수를 참조합니다.
      • !$- 이전 명령어의 마지막 인수를 참조합니다.
      • !^- 이전 명령어의 첫 번째 인수를 참조합니다.
      • !:n- 이전 명령어의 n 인수를th 참조합니다.
      • !:m-n- 이전 명령어의 m ~nth 인수를th 참조합니다.
      • !:n-$- 이전 명령어의 nth~마지막 인수를 참조합니다.
  • 명령줄 편집
  • 명령줄에서 파일 이름 및 변수 자동 완성 및 프로그램 가능 완료
  • 에일리어스 인수 셀렉터: 에일리어스에 제공된 인수를 취득하여 에일리어스가 참조하는 명령어에 적용할 수 있습니다.이 기능을 제공하는 셸은 Tcsh뿐입니다.
    • \!#- 에일리어스/명령어 자체를 포함한 모든 인수에 대한 인수 셀렉터. 인수를 지정할 필요가 없습니다.
    • \!*- alias/command를 제외한 모든 인수에 대한 인수 선택기. 인수를 지정할 필요가 없습니다.
    • \!$- 마지막 인수의 인수 셀렉터.인수를 지정할 필요는 없지만 인수가 지정되지 않은 경우 에일리어스 이름이 마지막 인수로 간주됩니다.
    • \!^- 첫 번째 인수의 인수 셀렉터. 인수를 지정해야 합니다.
    • \!:n- nth 인수에 대한 인수 선택 도구. 인수를 제공해야 합니다. n=0은 별칭/명령 이름을 나타냅니다.
    • \!:m-n- m에서n까지의thth 인수에 대한 인수 셀렉터.인수를 지정해야 합니다.
    • \!:n-$- n부터th 마지막까지의 인수 셀렉터.적어도 인수n을 지정해야 합니다.
    • \!:n*- n부터th 마지막까지의 인수를 위한 인수 셀렉터. 충분한 인수를 지정할 필요가 없습니다.
      #디렉토리 변경 시 즉시 내용이 표시되도록 cd 명령어에 별칭을 붙입니다. 에일리어스 CD 'cd \!* & ls' 
  • 와일드카드 매칭
    ( "$input" =~ [0-9]* )인 경우 "input starts with integer"를 에코합니다.그렇지 않으면 "input does not started with integer" 에코합니다.
  • 작업 제어
  • 빌트인where명령어를 입력합니다.다음과 같이 동작합니다.which명령어는 에서 지정한 디렉토리에 있는 타겟명령어의 모든 위치를 표시합니다.$PATH사용할 수 있는 것 보다 더 많은 정보를 얻을 수 있습니다.

도입

이전 버전의 Mac OS X는 기본 셸로 tcsh와 함께 제공되었지만 새 계정의 기본값은 10.3에서 bash가 되고 10.15에서 zsh가 됩니다.(tcsh는 계속 제공되며 OS를 업그레이드해도 기존 계정의 셸은 변경되지 않습니다).tcsh는 FreeBSD(기본 사용자 셸은 POSIX 기반)[13][14] 및 그 후속 DragonFly BSDDesktopB의 기본 루트 셸입니다.SD.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Release 6.22.04". 26 April 2021. Retrieved 22 May 2021.
  2. ^ "remove clause 3 of the copyright". 2002-03-08.
  3. ^ "Remove clause 3 of the copyright (changed in other files 2002-03-08)". 2014-07-14.
  4. ^ "Tcsh-6.00 release". 1991-07-04.
  5. ^ a b c d Ken Greer (3 Oct 1983). "C shell with command and filename recognition/completion". Newsgroup: net.sources. Retrieved 29 December 2010.
  6. ^ tcsh(1) man 페이지tcsh.
  7. ^ 2000년 6월 17일 tcsh-17의 파일을 수정합니다.
  8. ^ Ubuntu - 패키지 CSH 상세.Packages.ubuntu.com 를 참조해 주세요.
  9. ^ Debian - 패키지 CSH 상세.Packages.debian.org 를 참조해 주세요.
  10. ^ Ubuntu - 패키지 tcsh 상세.Packages.ubuntu.com 를 참조해 주세요.
  11. ^ Debian - 패키지 tcsh 상세.Packages.debian.org 를 참조해 주세요.
  12. ^ "The T in tcsh". Archived from the original on 14 April 2012. Retrieved 31 October 2013.
  13. ^ Michael Urban; Brian Tiemann (2002). Sams teach yourself FreeBSD in 24 hours. Sams Publishing. p. 56. ISBN 978-0-672-32424-6.
  14. ^ POSIX 2008 Shell 명령어 "시스템 V 쉘은 POSIX.1-2008 쉘 및 유틸리티 볼륨의 시작점으로 선택되었습니다.BSD C 쉘은 대상에서 제외되었습니다.

외부 링크