サンプル tcsh セッションのスクリーンショット | |
| 開発者 | Ken Greer、Paul Placeway、Christos Zoulas 他 |
|---|---|
| 安定リリース | 6.24.14 [1]
/ 2024年11月26日 |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Unixシェル |
| ライセンス | 2002: BSD-3条項[2] [3] 1991: BSD-4条項[4] |
| Webサイト | 詳しくはこちら |
tcsh ( / ˌ t iː ˈ s iː ʃ ɛ l / “tee-see-shell”、/ ˈ t iː ʃ ɛ l / “tee-shell”、または “tee see ess aitch”、 ) は、C シェル( )をベースにした、C シェルと下位互換性のあるUnix シェルtcshです。
csh
シェル
tcsh は本質的には C シェルですが、プログラム可能なコマンドライン補完、コマンドライン編集、その他の機能を備えています。他の一般的なシェルとは異なり、関数はtcsh スクリプトで定義できず、代わりにユーザーはエイリアスを使用する必要があります (csh の場合と同様)。FreeBSD 13 以前を含む一部の BSD ベースのシステムでは、ネイティブのルート シェルです。( FreeBSDsh 14 では、デフォルトのルート シェルがデフォルトのユーザー シェルと一致するように変更されました[5] 。一方、OpenBSD では、ルート ユーザーと一般ユーザーの両方にKorn シェル が使用されています[6] )
ksh
tcsh はファイル名とコマンドの補完、およびコマンド ライン編集の概念をTENEXオペレーティング システムから借用しました。これは “t” の由来です。[7] 機能の追加のみで、既存のものを変更しなかったため、tcsh は元の C シェルとの下位互換性を維持しました。 [8] Bill Joyが作成した元の csh ソース ツリーからのサイド ブランチとして始まりましたが、tcsh は現在進行中の開発のメイン ブランチとなっています。
tcshは非常に安定していますが、新しいリリースはほぼ年に1回リリースされ、ほとんどがマイナーなバグ修正で構成されています。[9]
macOSやRed Hat Linuxなどの多くのシステムでは、cshは実際には ですtcsh。多くの場合、2 つのファイルのうちの 1 つは、もう1 つのファイルへのハード リンクまたはシンボリック リンクであるため、どちらの名前も C シェルの同じ改良バージョンを参照します (ただし、使用される名前に応じて動作が変わる場合があります)。
Debianとその派生版(Ubuntuを含む)には、cshとという2つの異なるパッケージがありますtcsh。前者はcshのオリジナルのBSDバージョンに基づいており[10] [11]、後者は改良されたtcshです。[12] [13]
歴史
の「t」は、TENEXtcshの「T」に由来しています。TENEX は、カーネギーメロン大学の Ken Greer 氏(tcsh の作者) にコマンド補完機能のインスピレーションを与えたオペレーティングシステムです。 [14] Greer 氏は、1975 年 9 月に Tenex スタイルのファイル名補完を実装するコードに取り組み始め、最終的に 1981 年 12 月にそれを C シェルに統合しました。[7] Fairchild AI Labs の Mike Ellis 氏は、1983 年 9 月にコマンド補完を追加しました。[7] 1983 年 10 月 3 日、Greer 氏は net.sources ニュースグループにソースコードを投稿しました。[7]
重要な特徴
- コマンド履歴
- 組み込み
historyコマンドは、以前に入力したコマンドを表示します。 - ↑コマンドラインで/を使用すると、ユーザーは履歴からコマンドを選択して編集/実行できるようになります。↓
- コマンド履歴を使用して以前のコマンドを呼び出す
!!前のコマンドを実行する!n以前に実行されたn番目のコマンドを実行します!-nnコマンド前に実行されたコマンドを実行します!string文字列で始まる、最近実行されたコマンドを実行します。!?string文字列を含む最も最近実行されたコマンドを実行します
- 新しいコマンドで履歴を使用する
!*- 前のコマンドのすべての引数を参照します!$- 前のコマンドの最後の引数を参照します!^- 前のコマンドの最初の引数を参照します!:n-前のコマンドのn番目の引数を参照します!:m-n-前のコマンドの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 がデフォルトのシェルとして出荷されていましたが、10.3以降では新しいアカウントのデフォルトはbashになり、10.15以降ではzsh になりました(tcsh は現在も提供されており、OS をアップグレードしても既存のアカウントのシェルは変更されません)。tcsh は、14.0 より前のFreeBSD (現在のシェルおよび古いバージョンのデフォルトのユーザーシェルはPOSIXベースです) [15] [16] [17]およびその後継であるDragonFly BSDやDesktopBSD のデフォルトのルートシェルでした。
参照
参考文献
- ^ “リリース 6.24.14”. 2024年11月26日. 2024年12月1日閲覧。
- ^ 「著作権の第3条を削除する」。GitHub 。 2002年3月8日。
- ^ 「著作権の第 3 条を削除 (2002-03-08 に他のファイルで変更)」。GitHub。2014-07-14。
- ^ 「Tcsh-6.00 リリース」。GitHub。1991-07-04。
- ^ 「Linux ユーザー向け FreeBSD クイックスタート ガイド」。
- ^ 「Linux ユーザーのための OpenBSD」。
- ^ abcd Ken Greer (1983 年 10 月 3 日). 「コマンドとファイル名の認識/補完機能を備えた C シェル」.ニュースグループ: net.sources . 2010 年12 月 29 日閲覧。
- ^ tcsh(1) マニュアルページ。tcsh。
- ^ 2000 年 6 月の tcsh-17 でファイルを修正しました。
- ^ Ubuntu - パッケージ csh の詳細。Packages.ubuntu.com。
- ^ Debian - パッケージ csh の詳細。Packages.debian.org。
- ^ Ubuntu - パッケージ tcsh の詳細。Packages.ubuntu.com。
- ^ Debian - パッケージ tcsh の詳細。Packages.debian.org。
- ^ 「tcsh の T」。2012 年 4 月 14 日時点のオリジナルよりアーカイブ。2013 年10 月 31 日閲覧。
- ^ Michael Urban、Brian Tiemann (2002)。Sams が 24 時間で FreeBSD を独学で学ぶ。Sams Publishing。p. 56。ISBN 978-0-672-32424-6。
- ^ POSIX 2008 シェルコマンド言語「POSIX.1-2008 のシェルとユーティリティのボリュームの開始点として System V シェルが選択されました。BSD C シェルは考慮から除外されました」
- ^ 「Linux ユーザー向け FreeBSD クイックスタート ガイド」。FreeBSDドキュメント ポータル。2024年 2 月 4 日閲覧。
外部リンク
- 公式サイト
- tcsh リリース
- tcsh メーリングリスト
- tcsh マニュアルページ
- O'Reilly の書籍「Using csh and tcsh」のアーカイブ。2011-02-25 にWayback Machineにアーカイブされました。
