Manpages

名 称

tcsh - フ ァ イ ル 名 補 完 と コ マ ン ド 行 編 集 を 追 加 し た C シ ェ ル

書 式

tcsh [−bcdefFimnqstvVxX] [−Dname[=value]] [arg ...]
tcsh −l

解 説

tcsh は 、 バ ー ク レ イ 版 UNIX の C シ ェ ル csh(1) と 完 全 に 互 換 性 が あ り 、 さ ら に 機 能 強 化 し た シ ェ ル で す 。 対 話 的 な ロ グ イ ン シ ェ ル 、 ま た シ ェ ル ス ク リ プ ト の コ マ ン ド プ ロ セ ッ サ の 両 方 の 用 途 で 使 わ れ る コ マ ン ド イ ン タ プ リ タ で す 。 tcsh に は 、 コ マ ン ド 行 編 集 (コ マ ン ド 行 編 集 の 項 を 参 照 )、 プ ロ グ ラ ム 可 能 な 単 語 の 補 完 (補 完 と 一 覧 の 項 を 参 照 )、 ス ペ ル 訂 正 (ス ペ ル 訂 正 の 項 を 参 照 )、 履 歴 (ヒ ス ト リ 置 換 の 項 を 参 照 )、 ジ ョ ブ 制 御 (ジ ョ ブ の 項 を 参 照 )、 C 言 語 風 の 文 法 が あ り ま す 。 新 機 能 の 章 で は 、 csh(1) に は 存 在 し な い 、 tcsh の 主 な 追 加 機 能 に つ い て 説 明 し て い ま す 。 こ の マ ニ ュ ア ル を 通 じ 、 tcsh の 機 能 の う ち 、 csh(1) の ほ と ん ど の 実 装 (特 に 4.4BSD の csh) に な い 機 能 に つ い て 、 ラ ベ ル (+) を つ け て あ り ま す 。 そ し て 、 csh(1) に あ っ た け れ ど も 文 書 化 さ れ て い な か っ た 機 能 に ラ ベ ル (u) を つ け て あ り ま す 。 引 数 リ ス ト 処 理 シ ェ ル へ の 1 番 目 の 引 数 (引 数 0 番 ) が ’−’ の 場 合 、 シ ェ ル は ロ グ イ ン シ ェ ル に な り ま す 。 シ ェ ル を −l フ ラ グ を 指 定 し て 起 動 す る こ と で も ロ グ イ ン シ ェ ル に で き ま す 。 残 り の フ ラ グ は 以 下 の よ う に 解 釈 さ れ ま す 。

−b こ の フ ラ グ は 、 オ プ シ ョ ン の 処 理 を 強 制 的 に 中 断 さ せ る 場 合 に 使 用 し ま す 。 こ の フ ラ グ 以 降 の 引 数 は す べ て 、 オ プ シ ョ ン で は な い も の と し て 処 理 さ れ ま す 。 こ れ に よ り 、 混 乱 を 避 け 、 小 細 工 を し な く て も 、 シ ェ ル ス ク リ プ ト に オ プ シ ョ ン を 渡 す こ と が 可 能 に な り ま す 。

set-user ID ス ク リ プ ト は 本 オ プ シ ョ ン な し で は 実 行 で き ま せ ん 。

−c コ マ ン ド を 、 本 フ ラ グ の 次 に く る 引 数

(こ の 引 数 は 省 略 で き ま せ ん 。 ま

た 、 1 つ だ け で あ る 必 要 が あ り ま す ) か ら 読 み 込 み 、 実 行 し ま す 。 こ の 引 数 は 、 あ と で 参 照 で き る よ う に 、 シ ェ ル 変 数 command に 格 納 さ れ ま す 。 残 り の 引 数 は 、 シ ェ ル 変 数 argv に 代 入 さ れ ま す 。

−d ロ グ イ ン シ ェ ル で あ る か ど う か に か か わ ら ず 、 ス タ ー ト ア ッ プ と シ ャ ッ ト ダ ウ ン の 項 で 解 説 さ れ て い る よ う に

~/.cshdirs か ら 、 デ ィ レ ク ト リ ス タ ッ ク を 読 み 込 み ま す 。 (+)
−D
name[=value] 環 境 変 数 name に 値 value を 設 定 し ま す 。 (Domain/OS の み ) (+)

−e 起 動 し た コ マ ン ド が 異 常 終 了 し た り 、

0 で な い 終 了 ス テ ー タ ス を 返 し た と

き に 、 た だ ち に シ ェ ル を 終 了 し ま す 。

−f

~/.tcshrc を 読 み 込 ま ず に 無 視 す る の で 、 起 動 が 高 速 に な り ま す 。

−F

プ ロ セ ス を 生 成 す る 際 に vfork(2) の 代 わ り に fork(2) を 使 い ま す 。 (Convex/OS の み ) (+)
−i

た と え 端 末 上 で 実 行 さ れ て い な く て も 、 対 話 的 に 動 作 し 最 上 位 レ ベ ル の 入 力 の 際 に プ ロ ン プ ト を 表 示 し ま す 。 入 力 と 出 力 が と も に 端 末 で あ る 場 合 、 本 オ プ シ ョ ン な し で も シ ェ ル は 対 話 的 に 動 作 し ま す 。

−l ロ グ イ ン シ ェ ル と な り ま す

(-l が 、 指 定 さ れ た 唯 一 の フ ラ グ で あ る 場 合

に の み 有 効 で す )。

−m 実 効 ユ ー ザ に 属 し て い な く て も

~/.tcshrc を ロ ー ド し ま す 。 新 し い バ ー

ジ ョ ン の su(1)-m を シ ェ ル に 渡 す こ と が で き ま す 。 (+)

−n コ マ ン ド の 解 析 は 行 い ま す が 、 実 行 は し ま せ ん 。 シ ェ ル ス ク リ プ ト の デ バ ッ グ に 役 立 ち ま す 。

−q

SIGQUIT (シ グ ナ ル 処 理 の 項 を 参 照 ) を 受 け 付 け る よ う に し 、 デ バ ッ ガ の も と で 使 わ れ て も 作 動 す る よ う に な り ま す 。 ジ ョ ブ 制 御 は 無 効 に な り ま す 。 (u)

−s 標 準 入 力 か ら コ マ ン ド を 読 み 込 み ま す 。

−t 入 力 か ら

1 行 だ け 読 み 込 み 、 そ れ を 実 行 し ま す 。 入 力 行 の 改 行 の 直 前 に ’\’ を 置 く こ と で 、 次 の 行 へ の 継 続 を 行 う こ と が で き ま す 。

−v シ ェ ル 変 数

verbose を 設 定 し ま す 。 こ れ に よ り 、 ヒ ス ト リ 置 換 さ れ た 状

態 の コ マ ン ド 行 を 表 示 す る よ う に な り ま す 。

−x シ ェ ル 変 数

echo を 設 定 し ま す 。 こ れ に よ り 、 実 行 直 前 に 、 実 行 す る コ マ

ン ド を 表 示 す る よ う に な り ま す 。

−V

~/.tcshrc を 実 行 す る 前 に 、 シ ェ ル 変 数 verbose を 設 定 し ま す 。

−X

~/.tcshrc を 実 行 す る 前 に 、 シ ェ ル 変 数 echo を 設 定 し ま す 。

−X

に 対 す る -x の 関 係 は 、 -V に 対 す る -v の 関 係 に 相 当 し ま す 。 フ ラ グ 引 数 の 処 理 の あ と 、 も し 引 数 が 残 っ て い て 、 か つ 、 -c, -i, -s, -t の い ず れ の フ ラ グ も 指 定 さ れ て い な け れ ば 、 残 っ て い る 引 数 の う ち 最 初 の も の は コ マ ン ド フ ァ イ ル 、 つ ま り 「 ス ク リ プ ト 」 の 名 前 と み な さ れ ま す 。 シ ェ ル は こ の フ ァ イ ル を オ ー プ ン し 、 ’$0’ に よ る 置 換 に 備 え て フ ァ イ ル 名 を 保 存 し ま す 。 多 く の シ ス テ ム は 、 ス ク リ プ ト が 本 シ ェ ル と 互 換 性 の な い version 6 ま た は version 7 の 標 準 の シ ェ ル を 使 っ て い る た め 、 ス ク リ プ ト の 先 頭 の 文 字 が ’#’ で な い 場 合 、 つ ま り ス ク リ プ ト が コ メ ン ト か ら 始 ま ら な い 場 合 、 本 シ ェ ル は そ れ ら の 「 標 準 」 の シ ェ ル を 起 動 し て 実 行 し ま す 。 残 り の 引 数 は シ ェ ル 変 数 argv に 設 定 さ れ ま す 。 ス タ ー ト ア ッ プ と シ ャ ッ ト ダ ウ ン ロ グ イ ン シ ェ ル の 場 合 は 、 実 行 開 始 に 際 し 、 ま ず シ ス テ ム フ ァ イ ル /etc/csh.cshrc/etc/csh.login を 読 み 込 ん で 実 行 し ま す 。 そ し て シ ェ ル を 起 動 し た ユ ー ザ の ホ ー ム デ ィ レ ク ト リ の 中 か ら 、 ま ず は じ め に ~/.tcshrc (+) を 読 み 込 ん で 実 行 し ま す 。 も し 、 ~/.tcshrc が 見 つ か ら な い 場 合 は 、 ~/.cshrc を 読 み 込 ん で 実 行 し ま す 。 次 に 、 ~/.history (も し く は 、 シ ェ ル 変 数 histfile の 値 ) を 、 そ の 次 に ~/.login を 、 最 後 に 、 ~/.cshdirs (も し く は 、 シ ェ ル 変 数 dirsfile の 値 ) (+) を 読 み 込 ん で 実 行 し ま す 。 コ ン パ イ ル の 仕 方 に よ っ て 、 シ ェ ル は /etc/csh.cshrc の 後 で は な く 前 に /etc/csh.login を 読 み 込 み 、 ~/.tcshrc (ま た は ~/.cshrc) と ~/.history の 後 で は な く 前 に ~/.login を 読 み 込 む 場 合 が あ り ま す 。 シ ェ ル 変 数 version を 参 照 し て く だ さ い 。 (+) ロ グ イ ン シ ェ ル で な い 場 合 は 、 /etc/csh.cshrc と 、 ~/.tcshrc (ま た は ~/.cshrc) の み を 起 動 時 に 読 み 込 み ま す 。 ス タ ー ト ア ッ プ フ ァ イ ル の 例 は 、 http://tcshrc.sourceforge.net を 見 て く だ さ い 。

stty(1)tset(1) の よ う な コ マ ン ド は 、 ロ グ イ ン す る ご と に 1 度 だ け 実 行 さ れ る 必 要 が あ り ま す が 、 こ れ ら の コ マ ン ド は 、 普 通 は ~/.login フ ァ イ ル に 入 れ ま す 。 csh(1)tcsh の 両 方 で 同 じ フ ァ イ ル の セ ッ ト を 使 う 必 要 が あ る ユ ー ザ は 、 ~/.cshrc だ け を 使 い 、 そ の 中 で シ ェ ル 変 数 tcsh (値 は 任 意 ) が あ る か ど う か チ ェ ッ ク し て か ら 、 tcsh 特 有 の コ マ ン ド を 使 う よ う に し ま す 。 ま た は 、 ~/.cshrc~/.tcshrc の 両 方 を 使 う が 、 ~/.tcshrc で 、 source コ マ ン ド (組 み 込 み コ マ ン ド の 項 を 参 照 ) を 使 い ~/.cshrc を 読 み 込 む よ う に し ま す 。 以 下 、 こ の マ ニ ュ ア ル の 残 り の 部 分 で ’~/.tcshrc’ と 表 現 し た と き は 、 「 ~/.tcshrc、 ま た は ~/.tcshrc が 見 つ か ら な い 場 合 は ~/.cshrc」 と い う 意 味 で 使 い ま す 。 通 常 、 シ ェ ル は プ ロ ン プ ト ’> ’ を 表 示 し 、 端 末 か ら コ マ ン ド の 読 み 込 み を 開 始 し ま す (引 数 処 理 と 、 コ マ ン ド ス ク リ プ ト を 含 む フ ァ イ ル の 処 理 の た め の シ ェ ル の 使 用 に つ い て は 、 後 で 説 明 し ま す )。 シ ェ ル は 、 入 力 さ れ た コ マ ン ド 行 の 読 み 込 み 、 読 み 込 ん だ コ マ ン ド 行 を 単 語 に 分 解 、 お よ び コ マ ン ド 履 歴 へ の 格 納 、 コ マ ン ド 行 の 解 析 、 コ マ ン ド 行 の 中 の コ マ ン ド そ れ ぞ れ の 実 行 を 繰 り 返 し ま す 。 ロ グ ア ウ ト す る に は 、 空 の 行 で ’^D’ と タ イ プ す る か 、 ’logout’ す る か 、 ’login’ す る か 、 シ ェ ル の 自 動 ロ グ ア ウ ト 機 構 (シ ェ ル 変 数 autologout を 参 照 ) を 使 い ま す 。 ロ グ イ ン シ ェ ル が 実 行 終 了 す る 際 に は 、 ロ グ ア ウ ト の 状 況 に 応 じ て シ ェ ル 変 数 logout を ’normal’ か ’automatic’ に 設 定 し 、 /etc/csh.logout フ ァ イ ル と ~/.logout フ ァ イ ル に あ る コ マ ン ド を 実 行 し ま す 。 コ ン パ イ ル の 仕 方 に よ っ て は 、 シ ェ ル は 、 ロ グ ア ウ ト 時 に DTR を 落 と す こ と が あ り ま す 。 こ れ に つ い て は シ ェ ル 変 数 version を 参 照 し て く だ さ い 。 シ ス テ ム の ロ グ イ ン フ ァ イ ル 名 、 ロ グ ア ウ ト フ ァ イ ル 名 は 、 異 な る csh(1) 間 で の 互 換 性 を 保 つ た め に 、 シ ス テ ム ご と に フ ァ イ ル が 違 い ま す 。 こ れ に つ い て は 、 関 連 フ ァ イ ル を 参 照 し て く だ さ い 。 編 集 は じ め に 、 コ マ ン ド 行 エ デ ィ タ に つ い て 説 明 し ま す 。 補 完 と 一 覧 と 、 ス ペ ル 訂 正 の 2 つ の 機 能 は 、 編 集 コ マ ン ド と し て 実 装 さ れ て い ま す が 、 特 に 分 け て 説 明 す る 必 要 が あ る た め 、 項 を 改 め て 説 明 し ま す 。 最 後 に 、 編 集 コ マ ン ド の 項 で 、 シ ェ ル に 特 有 の 編 集 コ マ ン ド に つ い て 、 一 覧 を あ げ 、 デ フ ォ ル ト の バ イ ン ド と と も に 説 明 し ま す 。 コ マ ン ド 行 編 集 (+) コ マ ン ド 行 の 入 力 デ ー タ は 、 GNU Emacs や vi(1) で 使 わ れ て い る も の と 、 よ く 似 た キ ー シ ー ケ ン ス を 使 っ て 編 集 で き ま す 。 シ ェ ル 変 数 edit が セ ッ ト さ れ て い る と き の み 、 編 集 で き る よ う に な っ て い ま す 。 対 話 的 な シ ェ ル で は 、 こ の 値 は デ フ ォ ル ト で 設 定 さ れ て い ま す 。 組 み 込 み コ マ ン ド bindkey で 、 キ ー バ イ ン ド を 変 更 し た り 、 表 示 し た り で き ま す 。 デ フ ォ ル ト で は 、 Emacs 形 式 の キ ー バ イ ン ド が 使 わ れ て い ま す (違 う 方 法 で コ ン パ イ ル し な け れ ば そ う な り ま す 。 シ ェ ル 変 数 version を 参 照 )。 し か し 、 コ マ ン ド bindkey で 、 キ ー バ イ ン ド を vi 形 式 に 一 括 し て 変 更 で き ま す 。 シ ェ ル は 、 つ ね に 矢 印 キ ー (環 境 変 数 TERMCAP で 定 義 さ れ た も の で す ) を 、 次 の よ う に 割 り 付 け て い ま す 。

下 矢 印

down-history

上 矢 印

up-history

左 矢 印

backward-char

右 矢 印

forward-char

他 の 1 文 字 バ イ ン ド に よ っ て 、 変 わ っ て い な け れ ば こ の よ う に な り ま す 。 こ の よ う な バ イ ン ド に し た く な い 場 合 、 settc を 使 っ て 、 矢 印 キ ー の エ ス ケ ー プ シ ー ケ ン ス を 空 の 文 字 列 に セ ッ ト す る こ と が で き ま す 。 ANSI/VT100 の 矢 印 キ ー シ ー ケ ン ス は 、 つ ね に バ イ ン ド さ れ て い ま す 。 そ の 他 の キ ー バ イ ン ド は 、 そ の ほ と ん ど は 、 Emacs、 vi(1) ユ ー ザ が 予 想 で き る も の で す 。 ま た 、 簡 単 に bindkey コ マ ン ド で 表 示 さ せ る こ と も で き る の で 、 こ こ で 、 そ れ ら の バ イ ン ド を 並 べ あ げ る 必 要 は な い で し ょ う 。 同 じ く 、 bindkey コ マ ン ド は 、 そ れ ぞ れ の 編 集 コ マ ン ド を 簡 単 な 説 明 付 き で 、 表 示 さ せ る こ と が で き ま す 。 注 意 : 「 単 語 」 と い う 概 念 に 関 し て 、 編 集 コ マ ン ド は 、 シ ェ ル と 同 じ 概 念 を 持 た な い こ と に 注 意 し て く だ さ い 。 エ デ ィ タ は 、 シ ェ ル 変 数 wordchars の 中 に は な い 非 英 数 文 字 (英 文 字 、 数 字 の ど ち ら で も な い 文 字 ) に よ っ て 単 語 の 区 切 り を 決 め ま す 。 一 方 、 シ ェ ル は 、 ホ ワ イ ト ス ペ ー ス (空 白 、 タ ブ 、 改 行 ) と 、 字 句 構 造 の 項 で 列 挙 す る 特 殊 な 意 味 を 持 つ 文 字 の い く つ か を 識 別 し ま す 。 補 完 と 一 覧 (+) シ ェ ル は 、 一 意 に 決 ま る 短 縮 形 を 与 え ら れ る と 、 し ば し ば 単 語 の 補 完 を 行 う こ と が で き ま す 。 単 語 の 一 部 (た と え ば ’ls /usr/lost’) を タ イ プ し て 、 タ ブ キ ー を 押 す と 、 編 集 コ マ ン ド complete-word が 実 行 し ま す 。 シ ェ ル は 、 フ ァ イ ル 名 ’/usr/lost’ を 補 完 し て ’/usr/lost+found/’ に し ま す 。 こ の と き 、 入 力 バ ッ フ ァ の 中 で 、 不 完 全 な 単 語 を 完 全 な 単 語 で 置 き 換 え ま す 。 (注 意 : 末 端 の ’/’ に つ い て : 補 完 で は 、 デ ィ レ ク ト リ 名 を 補 完 す る と 最 後 に ’/’ を 付 け 加 え ま す 。 そ し て 、 デ ィ レ ク ト リ 名 以 外 の 単 語 を 補 完 す る と 、 末 尾 に 空 白 文 字 を 付 け 加 え ま す 。 こ う す る こ と で 、 タ イ プ 入 力 が 速 く な り 、 ま た 、 補 完 が 成 功 し た こ と が 一 目 で 分 か り ま す 。 シ ェ ル 変 数 addsuffix の セ ッ ト を は ず せ ば 、 こ れ ら を 付 け 加 え な く す る こ と も で き ま す 。 ) 合 致 す る も の が 見 当 た ら な い 場 合 (お そ ら く ’/usr/lost+found’ が 存 在 し な い 場 合 で し ょ う )、 端 末 の ベ ル が 鳴 り ま す 。 単 語 が す で に 補 完 さ れ て い る 場 合 (シ ス テ ム に ’/usr/lost’ が 存 在 す る 場 合 か 、 あ る い は 、 ユ ー ザ が は る か 先 ま で 考 え て 、 す べ て を 入 力 し て し ま っ て い た 場 合 で し ょ う )、 ’/’ ま た は 空 白 文 字 が 末 尾 に ま だ な け れ ば 、 付 け 加 え ら れ ま す 。 補 完 は 、 行 の 一 番 最 後 で な く て も 、 途 中 ど こ で で も 機 能 し ま す 。 そ し て 、 テ キ ス ト の 補 完 に よ っ て 、 そ の 分 、 行 の 残 り は 右 方 向 へ 押 さ れ ま す 。 単 語 の 中 間 で 補 完 さ れ た 場 合 、 し ば し ば カ ー ソ ル の 右 側 に 文 字 が 残 り 、 そ れ を 消 す は め に な る こ と も あ り ま す 。 コ マ ン ド と 変 数 は 、 ほ と ん ど 同 じ 方 法 で 補 完 で き ま す 。 た と え ば 、 ’em[tab]’ と タ イ プ し た 時 、 使 用 し て い る シ ス テ ム で ’em’ か ら 始 ま る コ マ ン ド が 唯 一 emacs だ け な ら ば 、 ’em’ は ’emacs’ と 補 完 さ れ ま す 。 補 完 は 、 path 中 の デ ィ レ ク ト リ に あ る コ マ ン ド か 、 フ ル パ ス が 与 え ら れ れ ば 、 そ こ に あ る コ マ ン ド を 見 つ け 出 す こ と が で き ま す 。 ’echo $ar[tab]’ と タ イ プ し た 時 、 他 に ’ar’ か ら 始 ま る 変 数 が な け れ ば 、 ’$ar’ は ’$argv’ と 補 完 さ れ ま す 。 シ ェ ル は 、 入 力 バ ッ フ ァ を 解 析 し て 、 補 完 し た い 単 語 を 、 フ ァ イ ル 名 と し て か 、 コ マ ン ド と し て か 、 変 数 と し て か 、 ど の よ う に 補 完 す べ き か を 決 め ま す 。 バ ッ フ ァ の 中 の 最 初 の 単 語 と 、 ’;’, ’|’, ’|&’, ’&&’, ’||’ の す ぐ 次 に く る 単 語 は 、 コ マ ン ド と み な し ま す 。 ’$’ で 始 ま る 単 語 は 、 変 数 と み な し ま す 。 そ の 他 の も の は 、 フ ァ イ ル 名 と み な し ま す 。 空 の 行 は 、 フ ァ イ ル 名 と し て ’補 完 さ れ て ’ い ま す 。 い つ で も 、 ’^D’ と タ イ プ す る こ と で 、 編 集 コ マ ン ド delete-char-or-list-or-eof を 実 行 さ せ て 、 補 完 可 能 な 単 語 の 候 補 を 並 べ 挙 げ る こ と が で き ま す 。 シ ェ ル は 、 組 み 込 み コ マ ン ド ls-F (q.v.) を 使 っ て 、 補 完 可 能 な 候 補 を 並 べ 挙 げ ま す 。 そ し て 、 プ ロ ン プ ト と 未 完 成 の コ マ ン ド ラ イ ン を 再 表 示 し ま す 。 次 に 例 を 示 し ま す 。

>

ls /usr/l[^D]

lbin/ lib/ local/ lost+found/ > ls /usr/l シ ェ ル 変 数 autolist を セ ッ ト し て い れ ば 、 シ ェ ル は 、 補 完 に 失 敗 し た と き は い つ で も 残 り の 選 択 肢 を 表 示 し ま す 。

>

set autolist

> nm /usr/lib/libt[tab]
libtermcap.a@ libtermlib.a@ > nm /usr/lib/libterm シ ェ ル 変 数 autolist を ’ambiguous (あ い ま い な )’ に セ ッ ト し た 場 合 は 、 補 完 に 失 敗 し て 補 完 さ れ る 単 語 へ 新 し い 文 字 を そ れ 以 上 追 加 で き な く な っ た と き に 限 り 、 選 択 肢 を 表 示 し ま す 。 補 完 す る フ ァ イ ル 名 に は 、 変 数 、 自 分 も し く は 他 人 の ホ ー ム デ ィ レ ク ト リ (’~’ で 短 縮 し た も の 。 フ ァ イ ル 名 置 換 の 項 を 参 照 )、 デ ィ レ ク ト リ ス タ ッ ク エ ン ト リ (’=’ で 短 縮 し た も の 。 デ ィ レ ク ト リ ス タ ッ ク 置 換 の 項 を 参 照 ) を 含 め る こ と が で き ま す 。 た と え ば 、 次 の よ う に な り ま す 。

>

ls ~k[^D]

kahn kas kellogg > ls ~ke[tab] > ls ~kellogg/ あ る い は 、

>

set local = /usr/local

> ls $lo[tab] > ls $local/[^D]
bin/ etc/ lib/ man/ src/ > ls $local/ 変 数 に つ い て は 、 編 集 コ マ ン ド expand-variables を 指 定 し て 使 っ て も 展 開 で き る こ と に 注 意 し て く だ さ い 。 コ マ ン ド delete-char-or-list-or-eof は 、 行 の 最 後 で の み リ ス ト を 表 示 し ま す 。 行 の 中 間 の 場 合 、 カ ー ソ ル 位 置 の 文 字 を 消 去 し ま す 。 空 行 の 場 合 、 ロ グ ア ウ ト し ま す 。 た だ し 、 ignoreeof が セ ッ ト さ れ て い れ ば 、 何 も し ま せ ん 。 ’M-^D’ は 、 編 集 コ マ ン ド list-choices に バ イ ン ド さ れ て い ま す が 、 こ れ は 行 中 の ど こ で も 、 補 完 の 候 補 の リ ス ト を 表 示 し ま す 。 list-choices (ま た は 、 delete-char-or-list-or-eof の と こ ろ で 列 挙 す る コ マ ン ド で 、 消 去 す る コ マ ン ド 、 し な い コ マ ン ド 、 リ ス ト 表 示 す る コ マ ン ド 、 ロ グ ア ウ ト す る コ マ ン ド の ど れ で も ) は 、 そ う し た い 場 合 、 組 み 込 み コ マ ン ド bindkey で ’^D’ に バ イ ン ド す る こ と も で き ま す 。 編 集 コ マ ン ド complete-word-fwdcomplete-word-back (デ フ ォ ル ト で は 、 ど の キ ー に も 割 り 付 け ら れ て い ま せ ん ) を 使 う こ と で 、 補 完 候 補 の リ ス ト を 上 ま た は 下 に 順 に 巡 り 、 リ ス ト 上 の 現 在 の 単 語 を 、 次 の 単 語 ま た は 1 つ 前 の 単 語 に 置 き 換 え る こ と が で き ま す 。 シ ェ ル 変 数 fignore に 、 補 完 の 際 に 無 視 す る フ ァ イ ル の サ フ ィ ッ ク ス の リ ス ト を セ ッ ト で き ま す 。 次 の 例 を 考 え て み ま す 。

>

ls

Makefile condiments.h~ main.o side.c
README main.c meal side.o
condiments.h main.c~ > set fignore = (.o \~) > emacs ma[^D]
main.c main.c~ main.o > emacs ma[tab] > emacs main.c

’main.c~’ と ’main.o’ は 、 fignore に サ フ ィ ッ ク ス が 登 録 さ れ て い る た め に 、 補 完 で は 無 視 さ れ ま す (し か し リ ス ト 上 に は 表 示 さ れ ま す )。 フ ァ イ ル 名 置 換 の 項 で 解 説 し て い る よ う に 、 home に 拡 張 さ れ な い よ う に す る た め に 、 ’~’ の 前 に ’\’ が 必 要 な こ と に 注 意 し て く だ さ い 。 補 完 の 候 補 が 1 つ し か な い 場 合 は 、 fignore の 設 定 は 無 視 さ れ ま す 。 シ ェ ル 変 数 complete が ’enhance(拡 張 )’ に セ ッ ト さ れ て い た 場 合 、 補 完 は 1) 大 文 字 小 文 字 の 区 別 を 無 視 し 、 2) ピ リ オ ド 、 ハ イ フ ン 、 ア ン ダ ス コ ア (’.’, ’−’, ’_’)を 、 単 語 を 分 け る 記 号 で あ る と み な し 、 ハ イ フ ン と ア ン ダ ス コ ア は 同 等 な も の と み な し ま す 。 次 の よ う な フ ァ イ ル が あ る 場 合 、

comp.lang.c comp.lang.perl comp.std.c++

comp.lang.c++ comp.std.c

’mail −f c.l.c[tab]’ と タ イ プ す れ ば 、 ’mail −f comp.lang.c’ の よ う に 補 完 さ れ 、 ^D の 場 合 に は 、 ’comp.lang.c’ と ’comp.lang.c++’ が リ ス ト と し て 表 示 さ れ ま す 。 ’mail −f c..c++[^D]’ と タ イ プ し た 場 合 は 、 ’comp.lang.c++’ と ’comp.std.c++’ が 表 示 さ れ ま す 。 次 の フ ァ イ ル が あ る デ ィ レ ク ト リ で 、 ’rm a−−file[^D]’ と タ イ プ し た 場 合 、

A_silly_file a-hyphenated-file another_silly_file の 3 つ の フ ァ イ ル す べ て が 一 覧 表 示 さ れ ま す 。 な ぜ な ら ば 、 大 文 字 小 文 字 の 区 別 は 無 視 さ れ て 、 ハ イ フ ン と ア ン ダ ス コ ア は 同 等 と 解 釈 さ れ る か ら で す 。 し か し な が ら 、 ピ リ オ ド は 、 ハ イ フ ン や ア ン ダ ス コ ア と 同 等 で は あ り ま せ ん 。 補 完 と 一 覧 は 、 他 に も い く つ か の シ ェ ル 変 数 の 影 響 を 受 け ま す 。 そ の ひ と つ 、 recexact を セ ッ ト す る と 、 続 け て タ イ プ す れ ば よ り 長 い 単 語 に 合 致 す る よ う な 場 合 で さ え も 、 最 短 で 一 意 に 一 致 す る 単 語 に 合 致 す る よ う に な り ま す 。 た と え ば 、

>

ls

fodder foo food foonly > set recexact > rm fo[tab] こ の 場 合 は ベ ル が 鳴 る だ け で す 。 な ぜ な ら 、 ’fo’ は 、 ’fod’ ま た は ’foo’ に 展 開 で き る か ら で す 。 し か し 、 さ ら に ’o’ と タ イ プ す る と 、

>

rm foo[tab]

> rm foo

’food’ や ’foonly’ も 合 致 す る に も か か わ ら ず 、 補 完 は ’foo’ で 完 了 し ま す 。 autoexpand を セ ッ ト す る と 、 補 完 を 試 み る 前 に 、 毎 回 、 編 集 コ マ ン ド expand-history を 実 行 す る よ う に な り ま す 。 autocorrect を セ ッ ト す る と 、 補 完 を 試 み る 前 に 、 毎 回 、 そ の 単 語 の ス ペ ル 訂 正 を す る よ う に な り ま す (ス ペ ル 訂 正 の 項 を 参 照 )。 correct を セ ッ ト す る と 、 ’return (enter)’ キ ー を 押 し た あ と 、 自 動 的 に コ マ ン ド を 補 完 す る よ う に な り ま す 。 matchbeep を セ ッ ト す る と 、 補 完 に 際 し て 、 状 況 の 変 化 に 応 じ て 、 ベ ル を 鳴 ら し た り 、 鳴 ら な い よ う に で き ま す 。 nobeep を セ ッ ト す る と 、 ま っ た く ベ ル を 鳴 ら さ な い よ う に で き ま す 。 nostat に は 、 デ ィ レ ク ト リ の リ ス ト や デ ィ レ ク ト リ に 合 致 す る パ タ ー ン を セ ッ ト で き 、 こ れ ら の デ ィ レ ク ト リ で 補 完 機 構 が stat(2) を 実 行 し な い よ う に す る こ と が で き ま す 。 listmaxlistmaxrows に セ ッ ト す る こ と で 、 ま ず 問 い 合 わ せ ず に 一 覧 表 示 す る 項 目 の 数 や 、 列 の 数 を 、 そ れ ぞ れ 制 限 す る こ と が で き ま す 。 recognize_only_executables を セ ッ ト す る と 、 シ ェ ル が コ マ ン ド 一 覧 を 表 示 す る 際 に 、 実 行 可 能 フ ァ イ ル だ け を 一 覧 表 示 す る よ う に さ せ る こ と が で き ま す 。 た だ し 、 動 作 は き わ め て 遅 く な り ま す 。 最 後 に 、 組 み 込 み コ マ ン ド complete を 使 っ て 、 フ ァ イ ル 名 、 コ マ ン ド 、 変 数 以 外 の 単 語 を 補 完 す る 方 法 を シ ェ ル に 教 え る こ と が で き ま す 。 補 完 と 一 覧 は 、 グ ロ ブ パ タ ー ン (フ ァ イ ル 名 置 換 の 項 を 参 照 ) 上 で は 機 能 し ま せ ん が 、 編 集 コ マ ン ド list-globexpand-glob は グ ロ ブ パ タ ー ン に 対 し 同 等 の 機 能 と し て 実 行 さ れ ま す 。 ス ペ ル 訂 正 (+) シ ェ ル は 、 補 完 し た り 一 覧 表 示 す る の と 同 様 に 、 フ ァ イ ル 名 、 コ マ ン ド 、 変 数 名 の ス ペ ル を 訂 正 す る こ と が で き る こ と が あ り ま す 。 個 々 の 単 語 は 、 編 集 コ マ ン ド spell-word (普 通 は M-s と M-S に バ イ ン ド さ れ て い ま す ) で ス ペ ル 訂 正 で き ま す 。 入 力 バ ッ フ ァ 全 体 は spell-line (普 通 は M-$ に 割 り 付 け ら れ て い ま す ) で ス ペ ル 訂 正 で き ま す 。 シ ェ ル 変 数 correct に ’cmd’ を 設 定 さ れ て お け ば 、 コ マ ン ド 名 が ス ペ ル 訂 正 さ れ ま す 。 ’all’ を 設 定 し て お け ば 、 リ タ ー ン が タ イ プ さ れ る た び に 行 全 体 が ス ペ ル 訂 正 さ れ ま す 。 autocorrect が セ ッ ト さ れ て い れ ば 、 単 語 に 補 完 を 試 み る 前 に そ の 単 語 を ス ペ ル 訂 正 し ま す 。 ス ペ ル 訂 正 が 、 こ こ で 説 明 し た 方 法 の い ず れ か に よ り 呼 び 出 さ れ 、 コ マ ン ド 行 の ど こ か に ス ペ ル 誤 り が あ る と 判 断 す る と 、 シ ェ ル は 、 次 の よ う に 訂 正 済 み の コ マ ン ド 行 を 表 示 し 入 力 を 待 ち ま す 。

>

set correct = cmd

> lz /usr/bin
CORRECT>ls /usr/bin (y|n|e|a)? こ れ に 対 し 、 ’y’ ま た は 空 白 文 字 で 答 え る と 、 訂 正 済 み 行 を 実 行 し 、 ’e’ で 答 え る と 、 入 力 バ ッ フ ァ に 訂 正 前 の コ マ ン ド を 残 し 、 ’a’ で 答 え る と 、 ’^C’ が 押 さ れ た 場 合 と 同 様 に コ マ ン ド を 中 止 し 、 そ れ 以 外 の 場 合 は 、 元 の ま ま の 行 を 変 え な い で 実 行 し ま す 。 ス ペ ル 訂 正 は 、 ユ ー ザ 定 義 の 補 完 を 識 別 し ま す (組 み 込 み コ マ ン ド complete を 参 照 )。 も し 、 補 完 が 実 行 さ れ る 位 置 で 、 入 力 さ れ た 単 語 が 補 完 リ ス ト の 中 の 単 語 に 似 て い た と き 、 ス ペ ル 訂 正 は 、 ミ ス ス ペ ル 記 録 し て 、 見 つ か っ た 単 語 を 訂 正 候 補 と し て 提 案 し ま す 。 し か し 、 入 力 さ れ た 単 語 が そ の 位 置 で 、 ど の 補 完 候 補 に も 合 致 し な か っ た 時 、 ス ペ ル 訂 正 は 、 ミ ス ス ペ ル を 示 し ま せ ん 。 補 完 と 同 様 、 ス ペ ル 訂 正 は 行 の ど こ で も 機 能 し ま す 。 行 の 残 り を 右 に 押 し 出 し た り 、 残 り の 余 分 な 文 字 を カ ー ソ ル の 右 に 残 し た り し ま す 。 注 意 : ス ペ ル 訂 正 は 、 意 図 ど お り に 動 作 す る 保 証 は あ り ま せ ん 。 そ し て 、 ほ と ん ど 実 験 的 な 機 能 と し て 提 供 さ れ て い ま す 。 提 案 、 改 善 す る 点 が あ れ ば 歓 迎 し ま す 。 編 集 コ マ ン ド (+)

’bindkey’ は キ ー バ イ ン ド 一 覧 を 表 示 し 、 ’bindkey −l’ は 編 集 コ マ ン ド の 一 覧 と 短 い 解 説 を 表 示 し ま す 。 こ こ で は 、 新 し い 編 集 コ マ ン ド 、 ま た は 、 特 に 興 味 深 い 編 集 コ マ ン ド に つ い て の み 解 説 し ま す 。 エ デ ィ タ の キ ー バ イ ン ド 割 り 付 け の 記 述 に つ い て は 、 emacs(1)vi(1) を 参 照 し て く だ さ い 。 デ フ ォ ル ト で そ れ ぞ れ の コ マ ン ド に バ イ ン ド ら れ た 文 字 (あ る い は 複 数 文 字 ) は 、 括 弧 の 中 に 示 し ま し た 。 ’^character’ は 制 御 文 字 を 意 味 し ま す 。 ’M-character’は メ タ 文 字 で す 。 メ タ キ ー が な い 端 末 の 場 合 は 、 escape-character と タ イ プ し ま す 。 大 文 字 小 文 字 の 区 別 は あ り ま す が 、 デ フ ォ ル ト で 英 文 字 に 割 り 付 け ら れ る コ マ ン ド は 、 便 宜 上 、 大 文 字 、 小 文 字 の 両 方 に キ ー バ イ ン ド さ れ て い ま す 。
complete-word
(tab) 補 完 と 一 覧 の 項 で 解 説 し て い る と お り 、 単 語 を 補 完 し ま す 。
complete-word-back
(not bound)

complete-word-fwd と 同 様 で す が 、 単 語 リ ス ト の 終 わ り か ら 、 上 へ あ が っ て 行 き ま す 。

complete-word-fwd (not bound) 現 在 の 単 語 を 、 補 完 可 能 単 語 リ ス ト 上 の 始 め の 単 語 で 置 き 換 え ま す 。 本 コ マ ン ド を 繰 り 返 す こ と で 、 単 語 リ ス ト 上 を 下 へ 降 り て い く こ と が で き ま す 。 単 語 リ ス ト の 最 後 ま で い く と 、 ベ ル が 鳴 り 、 未 補 完 の 単 語 へ 戻 り ま す 。
complete-word-raw
(^X-tab)

complete-word と 同 様 で す が 、 ユ ー ザ 定 義 し た 補 完 は 無 視 さ れ ま す 。

copy-prev-word (M-^_) 現 在 の 行 で 、 1 つ 前 の 単 語 を 入 力 バ ッ フ ァ へ コ ピ ー し ま す 。 insert-last-word も 参 照 し て く だ さ い 。
dabbrev-expand
(M-/) 以 前 入 力 し た 単 語 の 中 で 、 現 在 の 単 語 が 先 頭 部 分 文 字 列 で あ り 、 し か も 最 近 の も の を 見 つ け て 、 そ れ で 展 開 し ま す 。 必 要 な ら ば 、 ヒ ス ト リ リ ス ト を 一 周 回 っ て 元 に 戻 っ て 探 し ま す 。 dabbrev-expand を 中 断 せ ず 繰 り 返 す こ と で 、 そ の 次 の 単 語 に 変 わ り ま す 。 history-search-backward と 同 様 に 、 同 一 の マ ッ チ ン グ は ス キ ッ プ し ま す 。
delete-char
(割 り 付 け な し ) カ ー ソ ル 下 の 文 字 を 削 除 し ま す 。 delete-char-or-list-or-eof も 参 照 し て く だ さ い 。
delete-char-or-eof
(割 り 付 け な し ) カ ー ソ ル 下 に 文 字 が あ れ ば delete-char を 実 行 し 、 空 行 で は end-of-file を 実 行 し ま す 。 delete-char-or-list-or-eof も 参 照 し て く だ さ い 。
delete-char-or-list
(割 り 付 け な し ) カ ー ソ ル 下 に 文 字 が あ れ ば delete-char を 実 行 し 、 行 の 末 尾 で は list-choices を 実 行 し ま す 。 delete-char-or-list-or-eof も 参 照 し て く だ さ い 。
delete-char-or-list-or-eof
(^D) カ ー ソ ル 下 に 文 字 が あ れ ば delete-char を 実 行 し 、 行 の 末 尾 で は list-choices を 実 行 し 、 空 行 で は end-of-file を 実 行 し ま す 。 こ れ ら の 3 つ の コ マ ン ド も 参 照 し て く だ さ い 。 こ れ ら の コ マ ン ド は 、 そ れ ぞ れ 1 つ の 動 作 を 実 行 す る だ け で す 。 delete-char-or-eof, delete-char-or-list, list-or-eof は 、 そ れ ぞ れ 3 つ の う ち の 異 な る 2 つ を 実 行 し ま す 。
down-history
(下 矢 印 , ^N)

up-history と 同 様 で す が 、 1 つ ず つ 下 に 移 動 し 、 も と の 入 力 行 で 止 ま り ま す 。

end-of-file (割 り 付 け な し ) フ ァ イ ル の 終 端 で あ る こ と を シ ェ ル に 通 知 し ま す 。 シ ェ ル 変 数 ignoreeof (そ ち ら も 参 照 ) が セ ッ ト さ れ て い な い 場 合 、 そ の 結 果 と し て 、 シ ェ ル は 実 行 を 終 了 し ま す 。 delete-char-or-list-or-eof も 参 照 し て く だ さ い 。
expand-history
(M-space) 現 在 の 単 語 の ヒ ス ト リ 置 換 を 展 開 し ま す 。 ヒ ス ト リ 置 換 を 参 照 し て く だ さ い 。 magic-space, toggle-literal-history と 、 シ ェ ル 変 数 autoexpand も 参 照 し て く だ さ い 。
expand-glob
(^X-*) カ ー ソ ル の 左 に グ ロ ブ パ タ ー ン を 展 開 し ま す 。 フ ァ イ ル 名 置 換 を 参 照 し て く だ さ い 。
expand-line
(割 り 付 け な し )

expand-history と 同 様 で す が 、 入 力 バ ッ フ ァ の そ れ ぞ れ の 単 語 の ヒ ス ト リ 置 換 を 展 開 し ま す 。

expand-variables (^X-$) カ ー ソ ル の 左 に 変 数 を 展 開 し ま す 。 変 数 置 換 を 参 照 し て く だ さ い 。
history-search-backward
(M-p, M-P) ヒ ス ト リ リ ス ト を 後 方 へ 向 か っ て 、 入 力 バ ッ フ ァ の 現 在 の 中 身 (カ ー ソ ル 位 置 ま で ) で 始 ま る コ マ ン ド を 検 索 し 、 そ れ を 入 力 バ ッ フ ァ へ コ ピ ー し ま す 。 検 索 文 字 列 は 、 ’*’, ’?’, ’[]’, ’{}’ を 含 ん だ グ ロ ブ パ タ ー ン (フ ァ イ ル 名 置 換 を 参 照 ) で あ っ て も か ま い ま せ ん 。 up-historydown-history は 、 ヒ ス ト リ リ ス ト の 該 当 す る 地 点 か ら 始 め る 事 が で き ま す 。 Emacs モ ー ド の み で す 。 history-search-forwardi-search-back も 参 照 し て く だ さ い 。
history-search-forward
(M-n, M-N)

history-search-backward と 同 様 で す が 、 前 方 へ 検 索 し ま す 。

i-search-back (割 り 付 け な し ) 後 方 へ 、 history-search-backward の よ う に 検 索 し て 、 最 初 に 合 致 し た も の を 入 力 バ ッ フ ァ へ コ ピ ー し 、 カ ー ソ ル を パ タ ー ン の 最 後 に 位 置 さ せ ま す 。 そ し て 、 ’bck: ’プ ロ ン プ ト と 最 初 に 合 致 し た も の を 表 示 し ま す 。 追 加 の 文 字 を タ イ プ し て 、 そ の 検 索 を 延 長 す る こ と が で き ま す 。 i-search-back を タ イ プ し て 、 同 じ パ タ ー ン で 検 索 を 延 長 す る こ と も で き ま す 。 必 要 が あ れ ば 、 ヒ ス ト リ リ ス ト を 一 周 回 っ て 元 に 戻 っ て 検 索 を 続 け ま す 。 (こ れ を 行 う た め に は 、 i-search-back は 、 1 文 字 に バ イ ン ド さ れ て い な け れ ば な り ま せ ん 。 ) あ る い は 、 以 下 の 特 殊 文 字 を タ イ プ す る こ と も で き ま す 。

^W カ ー ソ ル 下 の 単 語 の 残 り を 検 索 パ タ ー ン に 加 え ま す 。

delete (あ る い は backward-delete-char に バ イ ン ド さ れ た 文 字 ) 最 後 に タ イ プ さ れ た 文 字 の 効 果 を と り け し 、 適 当 な ら 検 索 パ タ ー ン か ら 文 字 を 削 除 し ま す 。

^G 前 の 検 索 が 成 功 し て い た な ら 、 検 索 全 体 を 中 止 し ま す 。 そ う で な い な ら 、 一 番 最 後 に 成 功 し た 検 索 ま で 戻 り ま す 。

escape 検 索 を 終 え 、 入 力 バ ッ フ ァ の 現 在 の 行 を そ の ま ま 残 し ま す 。 こ の 他 の 文 字 で 、

self-insert-command に バ イ ン ド さ れ て い る 以 外 の も の を タ イ プ す る と 、 検 索 が 終 了 し ま す 。 入 力 バ ッ フ ァ の 現 在 の 行 は そ の ま ま に な り 、 タ イ プ し た 文 字 は 通 常 の 入 力 と し て 解 釈 さ れ ま す 。 特 に 、 キ ャ リ ッ ジ リ タ ー ン の 場 合 は 、 現 在 の 行 を 実 行 に 移 し ま す 。 Emacs モ ー ド の み で す 。 i-search-fwdhistory-search-backward も 参 照 し て く だ さ い 。

i-search-fwd (割 り 付 け な し )

i-search-back と 同 様 で す が 、 前 方 へ 検 索 し ま す 。

insert-last-word (M-_)

1 つ 前 の 入 力 行 (’!$’) の 最 後 の 単 語 を 入 力 バ ッ フ ァ に 挿 入 し ま す 。 copy-prev-word も 参 照 し て く だ さ い 。

list-choices (M-^D) 補 完 と 一 覧 で 解 説 し て い る よ う に 、 補 完 の 可 能 性 を 一 覧 表 示 し ま す 。 delete-char-or-list-or-eoflist-choices-raw も 参 照 し て く だ さ い 。
list-choices-raw
(^X-^D)

list-choices と 同 様 で す が 、 ユ ー ザ 定 義 さ れ た 補 完 を 無 視 し ま す 。

list-glob (^X-g, ^X-G) カ ー ソ ル の 左 側 の グ ロ ブ パ タ ー ン (フ ァ イ ル 名 置 換 を 参 照 ) に 合 致 し た も の を (組 み 込 み コ マ ン ド ls−F を 用 い て ) 一 覧 表 示 し ま す 。
list-or-eof
(割 り 付 け な し )

list-choices を 実 行 す る か 、 ま た は 、 空 行 の 場 合 end-of-file を 実 行 し ま す 。 delete-char-or-list-or-eof も 参 照 し て く だ さ い 。

magic-space (割 り 付 け な し ) ま ず expand-history と 同 様 に 、 現 在 の 行 の ヒ ス ト リ 置 換 を 展 開 し て 、 そ の 後 で 空 白 を 1 つ 付 け 加 え ま す 。 magic-space は ス ペ ー ス キ ー に バ イ ン ド す る よ う に 設 計 さ れ て い ま す が 、 デ フ ォ ル ト で は バ イ ン ド さ れ て い ま せ ん 。
normalize-command
(^X-?) パ ス の 中 の 現 在 の 単 語 を 検 索 し ま す 。 そ し て 、 見 つ か っ た 場 合 、 実 行 可 能 フ ァ イ ル を 指 す フ ル パ ス で 置 き 換 え ま す 。 特 殊 文 字 は ク ォ ー ト さ れ ま す 。 エ イ リ ア ス は 展 開 さ れ て 、 ク ォ ー ト さ れ ま す が 、 エ イ リ ア ス 中 の コ マ ン ド は 展 開 / ク ォ ー ト さ れ ま せ ん 。 こ の コ マ ン ド は 、 た と え ば 、 ’dbx’ や ’sh −x’ な ど の よ う に 、 コ マ ン ド が 引 数 を 取 得 す る 場 合 に 役 立 ち ま す 。
normalize-path
(^X-n, ^X-N) シ ェ ル 変 数 symlinks の 設 定 ’expand’ の 項 で 説 明 さ れ て い る よ う に 、 現 在 の 単 語 を 展 開 し ま す 。
overwrite-mode
(割 り 付 け ら れ て い ま せ ん ) 入 力 モ ー ド と 上 書 き モ ー ド の 間 で 切 り 替 え ま す 。
run-fg-editor
(M-^Z) 現 在 の 入 力 行 を 保 存 し ま す 。 そ し て 、 環 境 変 数 EDITOR ま た は VISUAL の フ ァ イ ル 名 部 分 の 最 後 の 構 成 要 素 (ま た は 、 ど ち ら も セ ッ ト さ れ て い な け れ ば 、 ’ed’ か ’vi’) と 等 し い 名 前 を 持 ち 、 ス ト ッ プ し て い る ジ ョ ブ を 探 し ま す 。 そ の よ う な ジ ョ ブ が 見 つ か れ ば 、 ’fg %job’ と タ イ プ し た の と 同 じ よ う に 、 実 行 再 開 さ れ ま す 。 こ れ は 、 エ デ ィ タ と シ ェ ル の 間 を 抜 け て 交 互 に 切 り 替 え る の を 容 易 に す る た め に 使 わ れ ま す 。 こ の コ マ ン ド を ’^Z’ に バ イ ン ド し 、 も っ と 簡 単 に 交 互 の 切 り 替 え が で き る よ う に す る 人 も い ま す 。
run-help
(M-h, M-H) 補 完 ル ー チ ン の ’現 在 の コ マ ン ド ’ と 同 じ 概 念 に よ る 現 在 の コ マ ン ド の ド キ ュ メ ン ト を 検 索 し 、 表 示 し ま す 。 ペ ー ジ ャ を 使 う 方 法 は あ り ま せ ん 。 run-help は 短 い ヘ ル プ フ ァ イ ル と の た め に 設 計 さ れ て い る た め で す 。 特 別 な エ イ リ ア ス helpcommand が 定 義 さ れ て い た 場 合 、 コ マ ン ド 名 を 唯 一 の 引 数 と し て そ の 値 が 実 行 さ れ ま す 。 ほ か に 、 ド キ ュ メ ン ト の フ ァ イ ル 名 は 、 コ マ ン ド 名 .help, コ マ ン ド 名 .1, コ マ ン ド 名 .6, コ マ ン ド 名 .8, コ マ ン ド 名 の い ず れ か で な け れ ば な り ま せ ん 。 ま た 、 そ の フ ァ イ ル は 、 環 境 変 数 HPATH の 中 で 、 一 覧 に あ が っ て い る デ ィ レ ク ト リ の う ち の 1 つ に 入 っ て い な け れ ば な り ま せ ん 。 も し 、 1 つ 以 上 の ヘ ル プ フ ァ イ ル が あ る 場 合 は 、 最 初 の 1 つ の み が プ リ ン ト さ れ ま す 。
self-insert-command
(テ キ ス ト 文 字 ) 挿 入 モ ー ド (デ フ ォ ル ト ) で は 、 タ イ プ し た 文 字 を 、 カ ー ソ ル 下 の 文 字 の 後 に 挿 入 し ま す 。 上 書 き モ ー ド で は 、 タ イ プ し た 文 字 で 、 カ ー ソ ル 下 の 文 字 を 置 き 換 え ま す 。 入 力 モ ー ド は 、 通 常 、 各 行 の 間 で 維 持 さ れ て い ま す が 、 シ ェ ル 変 数 inputmode を ’insert(挿 入 )’ あ る い は 、 ’overwrite(上 書 き )’ に セ ッ ト し て お く と 、 エ デ ィ タ を 、 各 行 の 始 ま り で 、 そ の モ ー ド に す る こ と が で き ま す 。 overwrite-mode も 参 照 し て く だ さ い 。
sequence-lead-in
(矢 印 接 頭 辞 、 メ タ 接 頭 辞 、 ^X) 次 に 続 く 文 字 が マ ル チ キ ー シ ー ケ ン ス (複 数 文 字 の 連 続 ) で あ る こ と を 表 し ま す 。 マ ル チ キ ー シ ー ケ ン ス を コ マ ン ド に バ イ ン ド す る 場 合 、 実 際 に は 、 次 の 2 つ の バ イ ン ド を 作 り ま す 。 ま ず 、 最 初 の 文 字 を sequence-lead-in と し ま す 。 そ し て 、 シ ー ケ ン ス 全 体 を そ の コ マ ン ド に バ イ ン ド し ま す 。 sequence-lead-in に バ イ ン ド さ れ た 文 字 で 始 ま る す べ て の シ ー ケ ン ス は 、 他 の コ マ ン ド に バ イ ン ド さ れ て い な け れ ば 、 実 質 的 に は undefined-key に バ イ ン ド さ れ た の と 同 じ こ と に な り ま す 。
spell-line
(M-$)

spell-word と 同 様 に 、 入 力 バ ッ フ ァ 中 の 各 単 語 の ス ペ ル 訂 正 を 試 み ま す 。 し か し 、 単 語 の 最 初 の 文 字 が 、 ’−’, ’!’, ’^’, ’%’ の う ち の ど れ か の 場 合 と 、 単 語 中 に ’\’, ’*’, ’?’ の い ず れ か を 含 ん で い る 場 合 は 、 ス イ ッ チ や 、 置 換 な ど の 問 題 を 避 け る た め に 、 こ れ ら の 単 語 を 無 視 し ま す 。 ス ペ ル 訂 正 を 参 照 し て く だ さ い 。

spell-word (M-s, M-S) ス ペ ル 訂 正 の 項 で 説 明 さ れ て い る の と 同 じ や り 方 で 、 現 在 の 単 語 の ス ペ ル の 訂 正 を 試 み ま す 。 パ ス 名 と し て 現 れ る 単 語 の 部 分 を そ れ ぞ れ に チ ェ ッ ク し ま す 。
toggle-literal-history
(M-r, M-R) 入 力 バ ッ フ ァ の ヒ ス ト リ 置 換 を 展 開 し た り 、 ’し な か っ た り ’ し ま す 。 expand-history と 、 シ ェ ル 変 数 autoexpand も 参 照 し て く だ さ い 。
undefined-key
(割 り 付 け の コ マ ン ド が 無 い キ ー ) ベ ル を 鳴 ら し ま す 。
up-history
(上 矢 印 , ^P) ヒ ス ト リ リ ス ト の 中 か ら 1 つ 前 の エ ン ト リ を 入 力 バ ッ フ ァ に コ ピ ー し ま す 。 histlit が セ ッ ト さ れ て い る 場 合 、 そ の 記 入 さ れ た 文 字 ど お り の 形 式 を 使 い ま す 。 ヒ ス ト リ リ ス ト を 上 の 方 へ 1 つ ず つ 移 動 を 繰 り 返 し た 場 合 、 一 番 上 で 止 ま り ま す 。
vi-search-back
(?) 検 索 文 字 列 (history-search-backward と 同 様 、 グ ロ ブ パ タ ー ン で も 構 い ま せ ん ) の 入 力 の た め に ’?’ を プ ロ ン プ ト 表 示 し ま す 。 そ の 文 字 列 を 検 索 し て 、 同 じ 文 字 列 を 入 力 バ ッ フ ァ へ コ ピ ー し ま す 。 合 致 す る も の が 見 つ か ら な け れ ば 、 ベ ル が 鳴 り ま す 。 リ タ ー ン キ ー (enter キ ー ) を 押 す と 、 検 索 を 終 了 し て 、 入 力 バ ッ フ ァ 中 に 最 後 に 合 致 し た 単 語 を 残 し ま す 。 escape キ ー を 押 す と 、 検 索 を 終 了 し て 、 合 致 し た も の を 実 行 し ま す 。 vi モ ー ド の み で す 。
vi-search-fwd
(/)

vi-search-back と 同 様 で す が 、 前 方 へ 検 索 し ま す 。

which-command (M-?) 入 力 バ ッ フ ァ の 最 初 の 単 語 に 対 し て 、 which (組 み 込 み コ マ ン ド の 解 説 を 参 照 ) を 実 行 し ま す 。 字 句 構 造 シ ェ ル は 入 力 さ れ た 行 を タ ブ や 空 白 で 単 語 に 分 割 し ま す 。 特 殊 文 字 ’&’, ’|’, ’;’, ’<’, ’>’, ’(’, ’)’, 2 文 字 繰 り 返 し の ’&&’, ’||’, ’<<’ , ’>>’ は 、 空 白 で 囲 ま れ て い る か ど う か に か か わ ら ず 、 常 に 単 語 の 区 切 り に な り ま す 。 シ ェ ル の 入 力 が 端 末 か ら で は な い と き 、 文 字 ’#’ は 、 コ メ ン ト の 始 ま り と し て 扱 わ れ ま す 。 ’#’ と そ の 後 ろ の 入 力 行 の 残 り は コ メ ン ト と 解 釈 さ れ 、 文 法 解 析 さ れ ず に 捨 て ら れ ま す 。 特 殊 文 字 (空 白 、 タ ブ 含 む ) は 、 そ の 文 字 の 直 前 に バ ッ ク ス ラ ッ シ ュ ’\’ を 置 く こ と で 、 ま た は 、 単 一 引 用 符 ’’’、 二 重 引 用 符 ’"’、 逆 引 用 符 ’’’ で 囲 む こ と で 、 特 殊 な 意 味 合 い を 持 た な い よ う に し た り 、 場 合 に よ っ て は 、 他 の 単 語 の 一 部 分 に す る こ と も で き ま す 。 他 に 引 用 が な さ れ な い 限 り 、 ’\’ の 直 後 に 改 行 文 字 を 置 く と 、 改 行 文 字 は 空 白 扱 い に な り ま す 。 し か し 、 引 用 中 で は 、 こ の 文 字 の 並 び は 改 行 文 字 に な り ま す 。 さ ら に 、 ヒ ス ト リ 置 換 を 除 く 、 す べ て の 置 換 (次 項 を 参 照 ) は 、 置 換 を 含 む 文 字 列 (あ る い は 文 字 列 の 一 部 ) を 単 一 引 用 符 で 囲 む こ と で 防 ぐ こ と が で き ま す 。 あ る い は 、 重 大 な 文 字 (た と え ば 、 変 数 置 換 な ら ば ’$’ や 、 コ マ ン ド 置 換 な ら ば ’’’) を ’\’ で ク ォ ー ト す る こ と で 防 ぐ こ と が で き ま す 。 (エ イ リ ア ス 置 換 も 例 外 で は あ り ま せ ん 。 一 度 定 義 さ れ た alias に 対 し て 、 何 ら か の 方 法 で そ の 単 語 の ど れ か の 文 字 を ク ォ ー ト す る こ と で 、 そ の エ イ リ ア ス の 置 換 を 防 ぐ こ と が で き ま す 。 エ イ リ ア ス を ク ォ ー ト す る 普 通 の 方 法 は 、 そ の エ イ リ ア ス の 前 に バ ッ ク ス ラ ッ シ ュ を 置 く こ と で す 。 ) ヒ ス ト リ 置 換 は 、 バ ッ ク ス ラ ッ シ ュ を 用 い る こ と で 防 ぐ こ と が で き ま す が 、 単 一 引 用 符 で は 防 ぐ こ と が で き ま せ ん 。 。 二 重 引 用 符 、 逆 引 用 符 で ク ォ ー ト さ れ た 文 字 列 は 、 変 数 置 換コ マ ン ド 置 換 は 受 け ま す が 、 そ の 他 の 置 換 は 受 け ま せ ん 。 単 一 引 用 符 、 二 重 引 用 符 で 囲 ま れ た テ キ ス ト は 1 つ の 単 語 (ま た は そ の 一 部 ) と な り ま す 。 そ れ ら の 文 字 列 中 の メ タ 文 字 (空 白 、 タ ブ を 含 む ) は 、 単 語 を 分 割 し ま せ ん 。 ひ と つ だ け 特 殊 な 場 合 (次 の コ マ ン ド 置 換 を 参 照 ) と し て 、 二 重 引 用 符 で 囲 ま れ た 文 字 列 を 1 つ 以 上 の 単 語 に 分 け る こ と が で き ま す 。 こ れ は 、 単 一 引 用 符 で 囲 ま れ た 文 字 列 で は 決 し て で き ま せ ん 。 逆 引 用 符 は 特 殊 で 、 コ マ ン ド 置 換 (そ ち ら も 参 照 ) に 、 影 響 を 与 え 、 そ の 結 果 が 1 つ 以 上 の 単 語 に な る こ と も あ り ま す 。 複 雑 な 文 字 列 を ク ォ ー ト す る 場 合 、 特 に 、 文 字 列 自 身 に ク ォ ー ト 文 字 が 含 ま れ て い る 場 合 は 、 わ か り に く い か も し れ ま せ ん 。 人 間 が 書 い た も の の 中 で は 、 引 用 符 を 引 用 の た め に 使 う 必 要 は な い こ と を 忘 れ な い よ う に ! 文 字 列 全 体 を ク ォ ー ト す る の で は な く 、 も し 適 当 な ら ば 異 な る タ イ プ の 引 用 符 を 用 い 、 ク ォ ー ト す る 必 要 の あ る 文 字 列 の 一 部 分 の み を ク ォ ー ト す る こ と の 方 が 、 簡 単 か も し れ ま せ ん 。 シ ェ ル 変 数 backslash_quote (そ ち ら も 参 照 ) を セ ッ ト す る と 、 バ ッ ク ス ラ ッ シ ュ が 常 に ’\’, ’’’, ’"’ を ク ォ ー ト す る よ う に で き ま す 。 (+) こ れ に よ っ て 、 複 雑 な 引 用 を す る 仕 事 が 簡 単 に な る か も し れ ま せ ん 。 し か し csh(1) の ス ク リ プ ト で は 、 構 文 エ ラ ー の 原 因 に な り ま す 。 置 換 こ こ で 、 シ ェ ル が 入 力 に 対 し て 行 う さ ま ざ ま な 変 換 を 、 処 理 が 行 わ れ る 順 に 記 述 し ま す 。 同 時 に 、 処 理 に 関 わ る デ ー タ 構 造 と 、 デ ー タ 構 造 に 影 響 を 与 え る コ マ ン ド と 変 数 と に も 触 れ て お き ま す 。 字 句 構 造 の と こ ろ で 説 明 す る 引 用 に よ り 、 置 換 を 抑 制 で き る こ と を 覚 え て お い て く だ さ い 。 ヒ ス ト リ 置 換 端 末 か ら 入 力 し た コ マ ン ド ひ と つ ひ と つ (イ ベ ン ト ) は 、 ヒ ス ト リ リ ス ト に 保 存 さ れ ま す 。 直 前 の コ マ ン ド は 常 に 保 存 さ れ ま す 。 さ ら に 、 保 存 す る コ マ ン ド 数 を 、 シ ェ ル 変 数 history に 設 定 す る こ と が で き ま す 。 重 複 す る イ ベ ン ト を 保 存 す る か ど う か 、 同 じ イ ベ ン ト の 連 続 を そ の ま ま 保 存 す る か ど う か を 、 シ ェ ル 変 数 histdup に 設 定 す る こ と が で き ま す 。 保 存 さ れ た コ マ ン ド に は 、 1 か ら 始 ま る 連 続 し た 番 号 が 振 ら れ 、 タ イ ム ス タ ン プ が 打 た れ ま す 。 普 通 イ ベ ン ト 番 号 を 用 い る 必 要 は あ り ま せ ん が 、 シ ェ ル 変 数 prompt の 中 に ’!’ を 置 く こ と で 、 現 在 の イ ベ ン ト 番 号 を プ ロ ン プ ト の 一 部 に す る こ と が で き ま す 。 実 際 の と こ ろ 、 シ ェ ル は 、 ヒ ス ト リ を 展 開 形 式 と 文 字 ど お り (未 展 開 ) の 形 式 と で 保 存 し て い ま す 。 シ ェ ル 変 数 histlit を 設 定 し て お く と 、 ヒ ス ト リ を 表 示 す る / ヒ ス ト リ に 保 存 す る コ マ ン ド で 文 字 ど お り の 形 式 を 用 い る よ う に な り ま す 。 組 み 込 み コ マ ン ド history に よ り 、 ヒ ス ト リ リ ス ト の 表 示 、 フ ァ イ ル に 保 存 、 フ ァ イ ル か ら の 読 み 込 み 、 ク リ ア を い つ で も 行 え ま す 。 シ ェ ル 変 数 savehisthistfile に よ り 、 ヒ ス ト リ リ ス ト の ロ グ ア ウ ト 時 の 自 動 保 存 と 、 ロ グ イ ン 時 の 自 動 読 み 込 み を 設 定 す る こ と が で き ま す 。 ヒ ス ト リ 置 換 に よ り 、 ヒ ス ト リ リ ス ト か ら 単 語 の 列 を 入 力 ス ト リ ー ム に 持 ち 込 み ま す 。 こ れ に よ り 、 前 の コ マ ン ド の 繰 り 返 し 、 前 の コ マ ン ド で 使 っ た 引 数 の 繰 り 返 し 、 前 の コ マ ン ド で 間 違 え た ス ペ ル の 修 正 を わ ず か な キ ー 入 力 で 、 か な り 確 実 に 容 易 に 行 う こ と が で き る よ う に な り ま す 。 ヒ ス ト リ 置 換 は 、 文 字 ’!’ で 始 ま り ま す 。 ヒ ス ト リ 置 換 は 、 入 力 ス ト リ ー ム の ど こ か ら 開 始 し て も か ま い ま せ ん が 、 入 れ 子 に は で き ま せ ん 。 文 字 ’!’ の 前 に ’\’ を 置 く こ と で 、 ’!’ の 特 殊 な 意 味 を 打 ち 消 す こ と が で き ま す 。 文 字 ’!’ が 、 空 白 文 字 、 タ ブ 文 字 、 改 行 文 字 、 ’=’、 ’(’ の 前 に あ る 場 合 は 、 そ う し た 方 が 便 利 な の で 、 無 変 更 の ま ま 渡 さ れ ま す 。 入 力 行 が ’^’ で 始 ま る 場 合 に も 、 ヒ ス ト リ 置 換 が 生 じ ま す 。 こ の 省 略 表 現 に つ い て は 後 で 説 明 し ま す 。 ヒ ス ト リ 置 換 を 示 す た め の 文 字 (’!’ と ’^’) は 、 シ ェ ル 変 数 histchars を 設 定 す る こ と に よ り 変 更 す る こ と が で き ま す 。 入 力 行 が ヒ ス ト リ 置 換 を 含 む 場 合 、 実 行 前 に 置 換 結 果 が 常 に 表 示 さ れ ま す 。 ヒ ス ト リ 置 換 に は 「 イ ベ ン ト 指 定 」 、 「 単 語 指 定 子 (word designator)」 、 「 修 飾 子 (modifier)」 を 含 め る こ と が で き ま す 。 イ ベ ン ト 指 定 は 、 ど の イ ベ ン ト か ら 単 語 の 列 を 取 り 出 す か を 指 定 し ま す 。 単 語 指 定 子 は 、 選 択 し た イ ベ ン ト か ら ど の 単 語 を 選 ぶ か を 指 定 し ま す 。 修 飾 子 は 、 選 択 し た 単 語 を ど う 操 作 す る か を 指 定 し ま す 。 イ ベ ン ト 指 定 に は 、 次 の も の が あ り ま す 。

n 番 号 : こ れ は あ る 特 定 の イ ベ ン ト を 指 定 し ま す 。

n オ フ セ ッ ト : こ れ は 現 在 の イ ベ ン ト の 前

n 個 目 の イ ベ ン ト を 指 定 し ま す 。

# 現 在 の イ ベ ン ト を 指 定 し ま す 。 こ れ は

csh(1) の 中 で は 注 意 し て

扱 わ ね ば な り ま せ ん 。 csh(1) で は 、 再 帰 呼 び 出 し の チ ェ ッ ク を し て い な い か ら で す 。 tcsh で は 、 再 帰 呼 び 出 し は 10 レ ベ ル ま で 許 さ れ て い ま す 。 (+)

!

1 つ 前 の イ ベ ン ト を 指 定 し ま す (’−1’ と 等 価 )。

s

先 頭 の 単 語 が s で 始 ま る イ ベ ン ト の う ち 、 最 も 新 し い も の を 指 定 し ま す 。

?s?

文 字 列 s を 含 む イ ベ ン ト の う ち 、 最 も 新 し い も の を 指 定 し ま す 。 直 後 が 改 行 文 字 の 場 合 は 、 2 番 目 の ’?’ は 省 略 可 能 で す 。 た と え ば 、 次 の よ う な ヒ ス ト リ リ ス ト が あ る と し ま す 。

 

9 8:30 nroff −man wumpus.man

10 8:31 cp wumpus.man wumpus.man.old
11 8:36 vi wumpus.man
12 8:37 diff wumpus.man.old wumpus.man コ マ ン ド が 、 イ ベ ン ト 番 号 と タ イ ム ス タ ン プ 付 き で 表 示 さ れ て い ま す 。 現 在 の イ ベ ン ト は 、 ま だ 入 力 し て い ま せ ん が 、 イ ベ ン ト 13 で す 。 ’!11’ と ’!-2’ は 、 イ ベ ン ト 11 を 指 し ま す 。 ’!!’ は 、 直 前 の イ ベ ン ト で あ る イ ベ ン ト 12 を 指 し ま す 。 ’!!’ は 、 後 ろ に ’:’ が 付 い て い る 場 合 、 ’!’ と 省 略 す る こ と が で き ま す (’:’ は 後 で 説 明 し ま す )。 ’!n’ は 、 ’n’ か ら 始 ま っ て い る 、 イ ベ ン ト 9 を 指 し ま す 。 ’!?old?’ は 、 ’old’ を 含 ん で い る イ ベ ン ト 12 を 指 し ま す 。 単 語 指 示 子 も 単 語 修 飾 子 も ど ち ら も 含 ま な い 場 合 、 ヒ ス ト リ 参 照 は そ の イ ベ ン ト 全 体 を 展 開 す る だ け で す 。 で す か ら 、 コ ピ ー コ マ ン ド を 再 実 行 し た い と き は ’!cp’ と 入 力 し ま す し 、 ’diff’ の 出 力 が 画 面 上 端 か ら ス ク ロ ー ル し て 消 え て し ま う 場 合 、 ’!!|more’ と 入 力 し ま す 。 必 要 に 応 じ 、 中 括 弧 で 囲 む こ と で 、 ヒ ス ト リ 置 換 を 前 後 の テ キ ス ト か ら 分 離 す る こ と が で き ま す 。 た と え ば 、 ’!vdoc’ と す る と 、 ’vdoc’ で 始 ま る コ マ ン ド を 探 し ま す が 、 こ の 例 で 見 つ か ら な い に し て も 、 ’!{v}doc’ で は 、 あ い ま い さ も な く ’vi wumpus.mandoc’ に 展 開 さ れ ま す 。 中 括 弧 の 中 で も 、 ヒ ス ト リ 置 換 は 入 れ 子 に な り ま せ ん 。

(+) csh(1) で は 、 た と え ば ’!3d’ は 、 イ ベ ン ト 3 の 後 ろ に 英 文 字 ’d’ を 付 加 し て 展 開 し ま す が 、 tcsh で は 、 こ れ を ’3d’ で 始 ま る イ ベ ン ト の う ち 最 新 の も の に 展 開 し ま す 。 つ ま り 、 完 全 な 数 値 引 数 だ け を イ ベ ン ト 番 号 と 見 な し ま す 。 こ れ に よ り 、 数 字 か ら 始 ま る イ ベ ン ト を 呼 び 出 す こ と が 可 能 と な り ま す 。 ’!3d’ を csh(1) の よ う に 展 開 さ せ る に は 、 ’!\3d’ と 指 定 し て く だ さ い 。 イ ベ ン ト か ら 単 語 を 選 択 す る 場 合 、 ’:’ と 選 択 す る 単 語 を 表 す 指 示 子 を 使 い 、 イ ベ ン ト 指 定 を 行 う こ と が で き ま す 。 入 力 行 の 単 語 に は 、 0 か ら 始 ま る 番 号 が 振 ら れ て い ま す 。 最 初 の 単 語 (普 通 、 コ マ ン ド で す ) は 0 で 、 2 番 目 の 単 語 (第 1 引 数 ) は 1 と い っ た 具 合 で す 。 基 本 的 な 単 語 指 示 子 は 次 の よ う に な り ま す 。

0 最 初 の 単 語

(コ マ ン ド )

n

n 番 目 の 引 数

^ 最 初 の 引 数 、

’1’ と 等 価

$ 最 後 の 引 数

%

?s? 検 索 で 一 致 し た 単 語

x−y あ る 範 囲 の 単 語

−y

’0−y’ と 等 価

*

’^−$’ と 等 価 。 但 し 、 イ ベ ン ト が 1 単 語 し か 含 ま な い 場 合 は 何 も 返 さ な い 。

x*

’x−$’ と 等 価

x−

’x*’ と 等 価 。 但 し 、 最 後 の 単 語 (’$’) は 除 く 。

選 択 し た 単 語 は 、 空 白 文 字 1 つ で 区 切 ら れ て コ マ ン ド 行 に 挿 入 さ れ ま す 。 た と え ば 、 ’diff !!:1.old !!:1’ と 打 ち 込 む こ と で 、 先 の 例 の ’diff’ コ マ ン ド を 入 力 す る こ と も で き ま す (’:1’ で 、 直 前 の イ ベ ン ト か ら 最 初 の 引 数 を 選 択 し て い ま す )。 ま た 、 ’diff !−2:2 !−2:1’ と 打 ち 込 む こ と で ’cp’ コ マ ン ド の 引 数 を 選 択 し 、 入 れ 換 え る こ と が で き ま す 。 ’diff’ コ マ ン ド の 引 数 の 順 番 を 気 に し な け れ ば 、 ’diff !−2:1−2’ と 打 ち 込 ん で も 構 い ま せ ん し 、 単 に ’diff !−2:*’ で も 構 い ま せ ん 。 ’cp’ コ マ ン ド は 、 現 在 の イ ベ ン ト を 指 す ’#’ を 使 い 、 ’cp wumpus.man !#:1.old’ と 書 く こ と が で き ま す 。 ’!n:− hurkle.man’ は 、 ’nroff’ コ マ ン ド か ら 最 初 の 2 単 語 を 再 利 用 し 、 ’nroff −man hurkle.man’ と す る こ と に な り ま す 。 文 字 ’:’ は 単 語 指 定 か ら イ ベ ン ト 指 定 を 分 離 し ま す が 、 引 数 選 択 子 が ’^’, ’$’, ’*’, ’%’, ’−’ で 始 ま る と き 、 こ の 文 字 ’:’ は 省 略 可 能 で す 。 た と え ば 、 先 ほ ど の ’diff’ コ マ ン ド は ’diff !!^.old !!^’ も し く は ’diff !!$.old !!$’ で も 構 わ な か っ た の で す 。 し か し 、 ’!!’ が ’!’ に 省 略 可 能 で あ る 場 合 、 ’−’ で 始 ま る 引 数 選 択 子 は イ ベ ン ト 指 定 と し て 解 釈 さ れ ま す 。 ヒ ス ト リ 参 照 に 、 イ ベ ン ト 指 定 の な い 単 語 指 示 子 が あ っ て も 構 い ま せ ん 。 そ の 場 合 、 直 前 の コ マ ン ド を 参 照 し ま す 。 ’diff’ の 例 を 続 け る な ら 、 単 純 に ’diff !^.old !^’ と 入 力 す る こ と が で き ま す 。 も し く は 、 逆 順 の 引 数 を 得 る だ け な ら ば 、 単 に ’diff !*’ で い い で す 。 ヒ ス ト リ 参 照 の 中 の 単 語 は 編 集 可 能 で す 。 つ ま り 、 単 語 の 後 ろ に 1 つ ま た は 複 数 の 修 飾 子 (修 飾 子 そ れ ぞ れ は ’:’ で 始 ま り ま す ) を 付 け る こ と で 「 修 飾 」 可 能 で す 。

h 先 頭 の も の

1 つ を 残 し 、 パ ス 名 の 構 成 要 素 の 後 ろ の 部 分 を 削 除 し

ま す 。

t 末 尾 の も の

1 つ を 残 し 、 パ ス 名 の 構 成 要 素 の 先 頭 の 部 分 を 削 除 し

ま す 。

r フ ァ イ ル 名 拡 張 子

’.xxx’ を 削 除 し 、 名 前 の 基 本 部 分 だ け を 残 し

ま す 。

e 拡 張 子 だ け を 残 し 、 他 を す べ て 削 除 し ま す 。

u 最 初 の 英 小 文 字 を 大 文 字 に 変 換 し ま す 。

l 最 初 の 英 大 文 字 を 小 文 字 に 変 換 し ま す 。

s/l/r/

lr で 置 換 し ま す 。 lr と 同 様 に 、 単 な る 文 字 列 で す 。 名 付 け 親 で あ る ed(1) コ マ ン ド の よ う な 正 規 表 現 で は あ り ま せ ん 。 ’/’ の 代 わ り に 任 意 の 文 字 を 区 切 り 文 字 と し て 使 う こ と が で き ま す 。 ’\’ を 使 い 、 lr の 中 で 区 切 り 文 字 を ク ォ ー ト す る こ と が で き ま す 。 r 中 の 文 字 ’&’ は 、 l で 置 き 換 え ら れ ま す 。 ’\’ で ’&’ も ク ォ ー ト で き ま す 。 l が 空 (’’’’) の 場 合 、 以 前 の 置 換 の l 、 ま た は 以 前 の イ ベ ン ト 指 定 ’?s?’ の s を 使 用 し ま す 。 最 後 の 区 切 り 文 字 の 直 後 が 改 行 文 字 の 場 合 、 そ の 区 切 り 文 字 を 省 略 で き ま す 。

& 以 前 の 置 換 を 繰 り 返 し ま す 。

g 後 ろ の 修 飾 子 を 単 語 そ れ ぞ れ に 適 用 し ま す 。

a (+) 後 ろ の 修 飾 子 を 、 あ る 単 語 だ け に で き る だ け 多 く の 回 数 、 適 用 し ま す 。

’a’ と ’g’ を い っ し ょ に 用 い て 、 修 飾 子 を グ ロ ー バ ル に 適 用 す る こ と が で き ま す 。 現 在 の 実 装 で は 、 修 飾 子 ’a’ と 修 飾 子 ’s’ を 同 時 に 使 用 す る と 、 無 限 ル ー プ に 陥 る 可 能 性 が あ り ま す 。 た と え ば 、 ’:as/f/ff/’ は 決 し て 終 わ り ま せ ん 。 こ の 動 作 は 今 後 変 更 さ れ る か も し れ ま せ ん 。

p 新 し い コ マ ン ド 行 を 表 示 し ま す が 、 実 行 は し ま せ ん 。

q 置 換 さ れ た 単 語 を ク ォ ー ト し 、 そ れ 以 上 の 置 換 が 起 き な い よ う に し ま す 。

x

q と 同 じ で す 。 た だ し 、 単 語 を 空 白 / タ ブ / 改 行 文 字 の と こ ろ で 分 割 し ま す 。 修 飾 子 は 最 初 に 見 つ か っ た 修 飾 可 能 な 単 語 だ け に 適 用 さ れ ま す (’g’ を 使 用 し な い 限 り )。 修 飾 可 能 な 単 語 が な い 場 合 は エ ラ ー に な り ま す 。 た と え ば 、 先 の 例 の ’diff’ コ マ ン ド は 、 ’diff wumpus.man.old !#^:r’ と も 書 く こ と が で き ま す 。 こ れ は 、 ’r’ を 用 い て 、 同 じ 行 (’!#^’) の 最 初 の 引 数 か ら ’.old’ を 削 除 し て い ま す 。 ’echo hello out there’ と 言 っ て お い て か ら 、 ’echo !*:u’ を 使 い ’hello’ を 大 文 字 に で き ま す 。 ’echo !*:au’ を 使 い 大 声 で 言 う よ う に で き ま す 。 ’echo !*:agu’ を 使 い 絶 叫 さ せ る こ と も で き ま す 。 ’mail −s "I forgot my password" rot’ の 後 で ’!:s/rot/root’ を 続 け る こ と で 、 ’root’ の ス ペ ル 間 違 い を 直 す こ と が で き ま す (ス ペ ル 間 違 い の 訂 正 に つ い て は 、 ス ペ ル 訂 正 の 項 に 別 の や り 方 が あ り ま す )。 置 換 に は 特 別 な 省 略 記 法 が あ り ま す 。 ’^’ が 入 力 行 の 先 頭 に あ る 場 合 、 ’!:s^’ と 等 価 で す 。 よ っ て 、 先 の 例 で ス ペ ル を 訂 正 す る に は 、 ^rot^root と 言 う こ と も で き た わ け で す 。 こ れ は 明 示 的 に ’!’ で 始 ま ら な い ヒ ス ト リ 置 換 と し て は 唯 一 の も の で す 。

(+) csh で は 、 ヒ ス ト リ 展 開 ま た は 変 数 展 開 に 適 用 さ れ る 修 飾 子 は 1 つ だ け で す 。 tcsh で は 、 1 つ 以 上 の 修 飾 子 が 使 用 さ れ る 可 能 性 が あ り ま す 。 た と え ば 、 次 の よ う な 場 合 を 考 え ま す 。

% mv wumpus.man /usr/man/man1/wumpus.1

% man !$:t:r
man wumpus

csh で は 、 こ の 結 果 は ’wumpus.1:r’ と な り ま す 。 コ ロ ン が 後 ろ に 続 く 置 換 は 、 中 括 弧 を 用 い て コ ロ ン と 区 切 る 必 要 が あ り ま す 。

>

mv a.out /usr/games/wumpus

> setenv PATH !$:h:$PATH
Bad ! modifier: $. > setenv PATH !{−2$:h}:$PATH
setenv PATH /usr/games:/bin:/usr/bin:. 最 初 の 試 み は csh で は 成 功 し ま す が 、 tcsh で は 失 敗 し ま す 。 こ の 理 由 は 、 tcsh は 2 番 目 の コ ロ ン の 後 ろ に 、 ’$’ で は な く 修 飾 子 が あ る と 思 っ て い る か ら で す 。 最 後 に 、 ヒ ス ト リ は こ こ で 説 明 し て き た 置 換 だ け で な く 、 エ デ ィ タ で も 利 用 す る こ と が で き ま す 。 編 集 コ マ ン ド up-history, down-history, history-search-backward, history-search-forward, i-search-back, i-search-fwd, vi-search-back, vi-search-fwd, copy-prev-word, insert-last-word は ヒ ス ト リ リ ス ト 中 の イ ベ ン ト を 検 索 し 、 入 力 バ ッ フ ァ に イ ベ ン ト を コ ピ ー し ま す 。 編 集 コ マ ン ド toggle-literal-history は 、 入 力 バ ッ フ ァ で ヒ ス ト リ 行 を 展 開 す る か 文 字 ど お り に 扱 う か を 切 り 替 え ま す 。 expand-history, expand-line は そ れ ぞ れ 、 現 在 の 単 語 、 ま た は 、 入 力 バ ッ フ ァ 全 体 で ヒ ス ト リ 置 換 を 展 開 し ま す 。 エ イ リ ア ス 置 換 シ ェ ル は 、 エ イ リ ア ス の リ ス ト を 保 持 し て い ま す 。 こ の リ ス ト は 、 alias, unalias コ マ ン ド を 使 っ て 設 定 、 削 除 、 表 示 す る こ と が で き ま す 。 コ マ ン ド 行 を 解 釈 し 単 純 コ マ ン ド (コ マ ン ド を 参 照 ) に 分 割 し た あ と 、 複 数 の コ マ ン ド を 左 か ら 右 へ 、 そ れ ぞ れ の 最 初 の 単 語 が エ イ リ ア ス を 持 っ て い る か を チ ェ ッ ク し ま す 。 エ イ リ ア ス を 持 っ て い る 場 合 、 最 初 の 単 語 を エ イ リ ア ス で 置 き 換 え ま す 。 置 き 換 え た エ イ リ ア ス が ヒ ス ト リ 参 照 を 含 む 場 合 、 元 の コ マ ン ド を 直 前 の 入 力 行 と み な し て 、 ヒ ス ト リ 置 換 (そ ち ら も 参 照 ) が 適 用 さ れ ま す 。 エ イ リ ア ス が ヒ ス ト リ 置 換 を 含 ま な い 場 合 、 引 数 リ ス ト は 変 更 さ れ ず そ の ま ま で す 。 そ の た め 、 た と え ば ’ls’ の エ イ リ ア ス が ’ls −l’ だ っ た 場 合 、 コ マ ン ド ’ls /usr’ は ’ls −l /usr’ に な り ま す 。 こ こ で 、 引 数 リ ス ト は 影 響 を 受 け ま せ ん 。 ’lookup’ の エ イ リ ア ス が ’grep !^ /etc/passwd’ だ と す る と 、 コ マ ン ド ’lookup bill’ は ’grep bill /etc/passwd’ に な り ま す 。 エ イ リ ア ス を 使 い 、 パ ー ザ の メ タ 記 法 を 利 用 で き ま す 。 た と え ば 、 ’alias print ’pr \!* | lpr’’ は 、 引 数 を ラ イ ン プ リ ン タ に pr(1) す る ’’コ マ ン ド ’’(’print’) を 定 義 し ま す 。 コ マ ン ド の 最 初 の 単 語 が エ イ リ ア ス を 持 た な く な る ま で 、 エ イ リ ア ス 置 換 は 繰 り 返 さ れ ま す 。 (先 の 例 の よ う に ) エ イ リ ア ス 置 換 が 最 初 の 単 語 を 変 更 し な い 場 合 、 そ の エ イ リ ア ス に 印 を 付 け て ル ー プ が 生 じ な い よ う に し ま す 。 そ れ 以 外 の ル ー プ は 検 出 さ れ 、 エ ラ ー 扱 い に な り ま す 。 シ ェ ル が 参 照 す る エ イ リ ア ス が い く つ か あ り ま す 。 特 殊 エ イ リ ア ス を 参 照 し て く だ さ い 。 変 数 置 換 シ ェ ル は 変 数 の リ ス ト を 管 理 し て お り 、 そ れ ら は 0 個 ま た は そ れ 以 上 の 個 数 の 単 語 の リ ス ト を 値 と し て 持 ち ま す 。 シ ェ ル 変 数 の 値 は 、 コ マ ン ド set, unset に よ り 表 示 、 変 更 す る こ と が で き ま す 。 シ ス テ ム は 、 自 分 自 身 の ’’環 境 ’’ 変 数 の リ ス ト を 保 持 し て い ま す 。 環 境 変 数 は コ マ ン ド printenv, setenv, unsetenv に よ り 表 示 、 変 更 す る こ と が で き ま す 。

(+) ’set −r’ (参 照 ) に よ り 変 数 を 読 み 出 し 専 用 に す る こ と が で き ま す 。 読 み 出 し 専 用 変 数 は 、 変 更 や unset が で き ま せ ん 。 こ れ を 試 み る と エ ラ ー に な り ま す 。 一 度 読 み 出 し 専 用 に し た 変 数 は 、 書 き 込 み 可 能 に 戻 す こ と は で き ま せ ん 。 で す か ら 、 ’set −r’ は 注 意 し て 使 用 す る 必 要 が あ り ま す 。 環 境 変 数 は 読 み 出 し 専 用 に す る こ と は で き ま せ ん 。 シ ェ ル が 設 定 、 参 照 す る 変 数 が い く つ か あ り ま す 。 た と え ば 、 変 数 argv は 、 シ ェ ル の 引 数 リ ス ト の 複 製 で 、 こ の 変 数 の 値 で あ る 単 語 は 特 別 な 方 法 で 参 照 さ れ ま す 。 シ ェ ル が 参 照 す る 変 数 の 中 に は 、 ト グ ル ス イ ッ チ が あ り ま す 。 シ ェ ル は 、 こ れ ら の 変 数 が 何 の 値 を 持 っ て い る か で は な く 、 値 が 設 定 さ れ て い る か ど う か に だ け 影 響 を 受 け ま す 。 た と え ば 、 変 数 verbose は 、 コ マ ン ド 入 力 を エ コ ー す る か ど う か を 制 御 す る ト グ ル ス イ ッ チ で す 。 コ マ ン ド 行 オ プ シ ョ ン −v が こ の 変 数 に 値 を 設 定 し ま す 。 シ ェ ル が 参 照 す る 変 数 す べ て の リ ス ト は 、 特 別 な シ ェ ル 変 数 に あ り ま す 。 変 数 を 数 値 と し て 扱 う 操 作 も あ り ま す 。 コ マ ン ド ’@’ に よ り 、 数 値 計 算 を 実 行 し 、 結 果 を 変 数 に 代 入 す る こ と が 可 能 と な り ま す 。 し か し な が ら 、 変 数 の 値 は 常 に (0 個 以 上 の ) 文 字 列 と し て 表 現 さ れ て い ま す 。 数 値 と し て 扱 う た め に 、 空 文 字 列 は 0 と 見 な さ れ ま す 。 複 数 の 単 語 か ら な る 値 の 、 2 番 目 以 後 の 単 語 は 無 視 さ れ ま す 。 入 力 行 の エ イ リ ア ス 処 理 を 終 え 、 字 句 解 析 を 終 え た 後 で 、 そ し て 、 各 コ マ ン ド を 実 行 す る 前 に 、 ’$’ 文 字 を キ ー と し て 変 数 置 換 が 行 わ れ ま す 。 こ の 展 開 は ’$’ の 前 に ’\’ を 置 く こ と で 抑 止 で き ま す 。 た だ し 、 ’"’ の 中 は 別 で 、 こ こ で は 常 に 変 数 置 換 が 行 わ れ ま す 。 ま た 、 ’’’ の 中 も 別 で 、 こ こ で は 決 し て 変 数 置 換 が 行 わ れ ま せ ん 。 ’’’ で ク ォ ー ト し た 文 字 列 は 後 で 解 釈 さ れ ま す か ら 、 (後 の コ マ ン ド 置 換 を 参 照 ) そ こ で の ’$’ 置 換 は 後 に な る ま で 行 わ れ ま せ ん 。 ’$’ の 後 ろ が 空 白 、 タ ブ 、 改 行 文 字 の 場 合 は 、 ’$’ 置 換 は 発 生 し ま せ ん 。 入 出 力 リ ダ イ レ ク ト は 、 変 数 展 開 の 前 に 識 別 さ れ 、 別 々 に 変 数 展 開 さ れ ま す 。 そ れ 以 外 で は 、 コ マ ン ド 名 と 引 数 リ ス ト 全 体 が 一 緒 に 展 開 さ れ ま す 。 で す か ら 、 (こ の 時 点 で の ) 最 初 の 単 語 (コ マ ン ド ) か ら 2 つ 以 上 の 単 語 が 生 成 さ れ る 可 能 性 が あ り ま す 。 展 開 後 の 複 数 の 単 語 の う ち 最 初 の も の が コ マ ン ド 名 と な り 、 残 り の 単 語 は 引 数 に な り ま す 。

’"’ で 囲 ま れ て い る か 、 修 飾 子 ’:q’ が 指 定 さ れ て い る 場 合 を 除 き 、 最 終 的 に は 、 変 数 置 換 の 結 果 に 対 し 、 コ マ ン ド 置 換 と フ ァ イ ル 名 置 換 が 適 用 さ れ ま す 。 ’"’ で 囲 ま れ て い る 場 合 、 値 が 複 数 の 単 語 で 構 成 さ れ る 変 数 は 、 1 つ の 単 語 (の 一 部 ) に 展 開 さ れ ま す 。 こ の 単 語 に は 、 そ の 変 数 の 値 で あ る 単 語 が 空 白 で 区 切 ら れ た も の を 含 み ま す 。 置 換 の 際 に 修 飾 子 ’:q’ が 適 用 さ れ る 場 合 、 変 数 は 複 数 の 単 語 に 展 開 さ れ ま す 。 そ れ ぞ れ の 単 語 は 空 白 で 区 切 ら れ 、 以 後 、 コ マ ン ド 置 換 と フ ァ イ ル 名 置 換 が 適 用 さ れ な い よ う に ク ォ ー ト さ れ ま す 。 シ ェ ル へ の 入 力 に 変 数 の 値 を 持 ち 込 む た め の 方 法 と し て 、 以 下 の 構 文 が あ り ま す 。 特 に 注 が な い 限 り 、 設 定 さ れ て い な い 値 の 参 照 は エ ラ ー に な り ま す 。

$name

${name} 変 数

name の 値 で あ る 単 語 に 置 換 し ま す 。 こ の 単 語 は 、 そ れ ぞ れ が 空

白 で 区 切 ら れ た も の で す 。 中 括 弧 は name と そ れ 以 後 の 文 字 列 と を 分 離 し 、 以 後 の 文 字 列 も 含 め て 1 つ の 変 数 名 と し て 解 釈 さ れ な い よ う に し ま す 。 シ ェ ル 変 数 の 名 前 は 上 限 が 20 文 字 で あ り 、 先 頭 は 英 文 字 で 、 2 文 字 目 以 後 は 英 文 字 か 数 字 で 構 成 さ れ ま す 。 ア ン ダ ス コ ア は 英 文 字 と 見 な し ま す 。 name が シ ェ ル 変 数 で は な い が 、 環 境 に 設 定 さ れ て い る 場 合 、 環 境 の 値 を 返 し ま す (た だ し 、 修 飾 子 ’:’ と 次 で 示 す 他 の 形 式 は 利 用 可 能 で す )。

$name[selector]
${name[selector]}

name の 値 の う ち 選 択 し た 単 語 の み で 置 換 し ま す 。 selector は ’$’ 置 換 が 適 用 さ れ 、 1 つ の 数 値 ま た は ’−’ で 区 切 っ た 2 つ の 数 値 で 構 成 す る こ と が で き ま す 。 変 数 の 値 の 先 頭 の 単 語 は 1 番 目 と し て 数 え ま す 。 範 囲 の 最 初 の 値 を 省 略 し た 場 合 、 デ フ ォ ル ト の 値 1 に な り ま す 。 範 囲 の 最 後 の 数 値 を 省 略 し た 場 合 、 デ フ ォ ル ト の 値 ’$#name に な り ま す 。 selector ’*’ は す べ て の 単 語 を 選 択 し ま す 。 2 番 目 の 引 数 が 省 略 さ れ る か 、 あ る い は 範 囲 に 収 ま っ て い る 場 合 、 範 囲 が 空 に な っ て も エ ラ ー に な り ま せ ん 。

$0 コ マ ン ド 入 力 を 読 み 込 ん で い る フ ァ イ ル 名 で 置 換 し ま す 。 フ ァ イ ル 名 が 不 明 の 場 合 エ ラ ー に な り ま す 。

$number
${number}

’$argv[number]’ と 等 価 で す 。

$*

’$argv’ と 等 価 で す 。 こ れ は ’$argv[*]’ と 等 価 で す 。

ヒ ス ト リ 置 換 の と こ ろ で 説 明 し た ’:’ 修 飾 子 (’:p’ を 除 く ) が 、 上 記 の 置 換 に 対 し て 適 用 で き ま す 。 2 つ 以 上 の 修 飾 子 も 適 用 で き ま す 。 (+) ヒ ス ト リ 置 換 (そ ち ら も 参 照 ) と 同 様 に 、 変 数 置 換 と リ テ ラ ル の コ ロ ン と を 分 離 す る た め に 、 中 括 弧 が 必 要 な こ と が あ り ま す 。 修 飾 子 は 中 括 弧 の 中 に 置 か ね ば な り ま せ ん 。 以 下 の 置 換 は ’:’ 修 飾 子 で 修 飾 す る こ と は で き ま せ ん 。

$?name
${?name}

name が 設 定 さ れ て い る と き は 、 文 字 列 ’1’ で 置 き 換 え ら れ ま す 。 設 定 さ れ て い な い と き は 、 文 字 列 ’0’ で 置 き 換 え ら れ ま す 。

$?0 現 在 の 入 力 フ ァ イ ル 名 が わ か っ て い る と き は 、

’1’ で 置 き 換 え ら れ ま

す 。 わ か っ て い な い と き は 、 ’0’ で 置 き 換 え ら れ ま す 。 対 話 型 の シ ェ ル で は 、 常 に ’0’ で す 。

$#name
${#name}

name 中 の 単 語 の 数 で 置 き 換 え ら れ ま す 。

$#

’$#argv’ と 等 価 で す 。 (+)

$%name
${%name}

name の 文 字 数 で 置 き 換 え ら れ ま す 。 (+)

$%number
${%number}

$argv[number] の 文 字 数 で 置 き 換 え ら れ ま す 。 (+)

$?

’$status’ と 等 価 で す 。 (+)

$$

(親 ) シ ェ ル の (10 進 数 の ) プ ロ セ ス 番 号 で 置 き 換 え ら れ ま す 。

$!

本 シ ェ ル が 開 始 し た バ ッ ク グ ラ ウ ン ド プ ロ セ ス の う ち 最 新 の も の の (10 進 数 の ) プ ロ セ ス 番 号 で 置 き 換 え ら れ ま す 。 (+)

$_

最 後 に 実 行 し た コ マ ン ド の コ マ ン ド 行 で 置 き 換 え ま す 。 (+)
$< 標 準 入 力 か ら 読 み 込 ん だ 1 行 を 、 一 切 解 釈 を せ ず に こ の 変 数 と 置 き 換

え ま す 。 シ ェ ル ス ク リ プ ト 中 で 、 キ ー ボ ー ド か ら 読 み 込 む 際 に 用 い ま す 。 (+) csh は 、 ’$<:q’ と 等 価 で あ る か の よ う に 、 $< を ク ォ ー ト し ま す が 、 tcsh は そ う し ま せ ん 。 そ れ だ け で な く 、 tcsh が ユ ー ザ の 入 力 行 を 待 つ と き 、 ユ ー ザ は 割 り 込 み を 入 力 し て 、 置 換 さ れ る べ き 行 が 入 る 列 を 中 断 す る こ と が で き ま す 。 し か し csh で は そ う す る こ と が で き ま せ ん 。 編 集 コ マ ン ド expand-variables は 、 通 常 は ’^X-$’ に バ イ ン ド さ れ て い ま す が 、 こ れ を 使 っ て 、 個 々 の 変 数 を 対 話 的 に 展 開 す る こ と が で き ま す 。 コ マ ン ド 置 換 、 フ ァ イ ル 名 置 換 、 デ ィ レ ク ト リ ス タ ッ ク 置 換 組 み 込 み コ マ ン ド の 引 数 に 対 し 、 残 り の 置 換 が 選 択 的 に 適 用 さ れ ま す 。 選 択 的 と は 、 行 の 中 で 評 価 さ れ な か っ た 部 分 は 、 こ れ ら の 展 開 の 対 象 に な ら な い と い う 意 味 で す 。 シ ェ ル の 内 部 コ マ ン ド で な い コ マ ン ド に 対 し て は 、 コ マ ン ド 名 は 引 数 リ ス ト と は 別 個 に 置 換 さ れ ま す 。 こ の 置 換 は 最 後 の 方 、 入 出 力 リ ダ イ レ ク ト を 実 行 し た あ と 、 メ イ ン シ ェ ル の 子 供 の 中 で 生 じ ま す 。 コ マ ン ド 置 換

’’’ で 囲 ま れ た コ マ ン ド は 、 コ マ ン ド 置 換 を 示 し ま す 。 囲 ま れ た コ マ ン ド の 出 力 を 、 空 白 、 タ ブ 、 改 行 文 字 の と こ ろ で 別 々 の 単 語 に 分 割 し ま す 。 こ の 出 力 に 変 数 置 換 、 コ マ ン ド 置 換 を 実 行 し 、 元 の 文 字 列 が あ っ た 場 所 に 置 き ま す 。 ニ 重 引 用 符 (’"’) の 内 側 の コ マ ン ド 置 換 は 、 空 白 、 タ ブ を 保 存 し ま す 。 改 行 文 字 だ け は 新 し く 単 語 分 け を 行 い ま す 。 た だ し 、 ど の よ う な 場 合 で も 最 後 の 改 行 文 字 だ け は 新 し い 単 語 に な り ま せ ん 。 で す か ら 、 1 行 ま る ま る 出 力 す る よ う な コ マ ン ド で も 、 コ マ ン ド 置 換 を 用 い る と 単 語 の 一 部 だ け を 生 成 す る こ と が で き ま す 。 フ ァ イ ル 名 置 換 単 語 が ’*’, ’?’, ’[’, ’{’ の い ず れ か の 文 字 を 含 む 場 合 、 ま た は 先 頭 が ’~’ で 始 ま る 場 合 、 そ の 単 語 は フ ァ イ ル 名 置 換 (あ る い は グ ロ ブ (globbing) と 呼 ば れ ま す ) の 候 補 に な り ま す 。 こ の よ う な 単 語 を パ タ ー ン (グ ロ ブ パ タ ー ン ) と 見 な し 、 そ の パ タ ー ン に マ ッ チ す る フ ァ イ ル 名 の リ ス ト を ア ル フ ァ ベ ッ ト 順 で 整 列 し た も の で 置 き 換 え ま す 。 フ ァ イ ル 名 マ ッ チ の 際 に 、 フ ァ イ ル 名 の 先 頭 、 ま た は ’/’ の 直 後 の 文 字 ’.’ は 、 ’/’ と 同 様 に 、 明 示 的 に マ ッ チ さ せ な け れ ば な り ま せ ん 。 文 字 ’*’ は 、 空 文 字 列 を 含 む ど の よ う な 文 字 列 に も マ ッ チ し ま す 。 文 字 ’?’ は 、 ど の よ う な 1 文 字 に も マ ッ チ し ま す 。 列 ’[...]’ は 、 括 弧 の 中 で 指 定 し た 文 字 の い ず れ か に マ ッ チ し ま す 。 ’[...]’ 内 で は 、 文 字 の 対 を ’−’ で つ な ぐ こ と で 、 (文 字 順 序 で ) そ の 2 文 字 の 範 囲 に あ る 文 字 の い ず れ か に マ ッ チ し ま す 。

(+) グ ロ ブ パ タ ー ン の 中 に は 反 転 を 指 定 で き る も の が あ り ま す 。 列 ’[^...]’ は 、 括 弧 内 の 文 字 / 範 囲 で 指 定 し て い な い 文 字 ち ょ う ど 1 つ に マ ッ チ し ま す 。

’^’ に よ り 、 グ ロ ブ パ タ ー ン 全 体 を 反 転 さ せ る こ と も で き ま す 。

>

echo *

bang crash crunch ouch > echo ^cr*
bang ouch

’?’, ’*’, ’[]’ の い ず れ も 使 わ な い グ ロ ブ パ タ ー ン や 、 ’{}’, ’~’ (あ と で 説 明 し ま す ) を 使 う グ ロ ブ パ タ ー ン は 、 反 転 し て も 正 し い 結 果 を 得 ら れ ま せ ん 。 メ タ 記 法 ’a{b,c,d}e’ は 、 ’abe ace ade’ の 省 略 記 法 で す 。 左 か ら 右 へ の 出 現 順 序 は 保 存 さ れ ま す 。 ’/usr/source/s1/{oldls,ls}.c’ は 、 ’/usr/source/s1/oldls.c /usr/source/s1/ls.c’ に 展 開 し ま す 。 マ ッ チ ン グ の 結 果 は 下 位 の レ ベ ル で 個 別 に 整 列 さ れ 、 出 現 順 序 は 保 存 さ れ ま す 。 ’../{memo,*box}’ は 、 ’../memo ../box ../mbox’ な ど に 展 開 さ れ る で し ょ う (こ こ で 、 ’memo’ が ’*box’ の マ ッ チ ン グ 結 果 と と も に 整 列 さ れ て い な い こ と に 注 意 し て く だ さ い )。 こ の 指 定 が 展 開 さ れ た 結 果 フ ァ イ ル が 存 在 し な く て も エ ラ ー に な り ま せ ん が 、 展 開 結 果 を 渡 し た 先 の コ マ ン ド で エ ラ ー に な る 可 能 性 は あ り ま す 。 こ の 指 定 は 入 れ 子 に す る こ と が で き ま す 。 特 殊 な 場 合 と し て 、 単 語 ’{’, ’}’, ’{}’ は 変 更 さ れ ず に そ の ま ま 渡 さ れ ま す 。 フ ァ イ ル 名 先 頭 の 文 字 ’~’ は 、 ホ ー ム デ ィ レ ク ト リ を 指 し ま す 。 単 独 で 用 い ら れ た 場 合 、 つ ま り ’~’ だ け の 場 合 、 シ ェ ル 変 数 home の 値 に 反 映 さ れ て い る よ う に 、 呼 び 出 し た ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に 展 開 さ れ ま す 。 ’~’ の 直 後 に 英 文 字 、 数 字 、 ま た は 文 字 ’−’ で 構 成 さ れ る 名 前 が 続 く 場 合 、 シ ェ ル は そ の 名 前 を 持 つ ユ ー ザ を 検 索 し 、 そ の ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に 展 開 し ま す 。 で す か ら 、 ’~ken’ は た と え ば ’/usr/ken’ に 展 開 さ れ ま す 。 ま た 、 ’~ken/chmach’は 、 た と え ば ’/usr/ken/chmach’ に 展 開 さ れ ま す 。 文 字 ’~’ の 後 ろ に 英 文 字 で も な く ’/’ で も な い 文 字 が 続 い た 場 合 、 も し く は 、 文 字 ’~’ が 単 語 の 先 頭 以 外 に 現 れ た 場 合 、 変 更 さ れ ず に そ の ま ま 渡 さ れ ま す 。 で す か ら 、 ’setenv MANPATH /usr/man:/usr/local/man:~/lib/man’ の よ う な コ マ ン ド で は 、 期 待 通 り の ホ ー ム デ ィ レ ク ト リ 置 換 が 起 こ り ま せ ん 。

’*’, ’?’, ’[’, ’~’ の ど れ か を 含 む グ ロ ブ パ タ ー ン (’^’ は 付 い て い て も い な く と も 同 じ ) は 、 マ ッ チ す る フ ァ イ ル が ひ と つ も な い と エ ラ ー に な り ま す 。 し か し 、 グ ロ ブ パ タ ー ン の リ ス ト の う ち の ひ と つ で も マ ッ チ す れ ば (他 の も の は マ ッ チ す る も の が な く て も ) エ ラ ー に な り ま せ ん (し た が っ て 、 た と え ば ’rm *.a *.c *.o’ は 、 カ レ ン ト デ ィ レ ク ト リ に ’.a’, ’.c’, ’.o’ で 終 わ る フ ァ イ ル が ひ と つ も な い と き に 限 っ て エ ラ ー に な り ま す )。 ま た 、 シ ェ ル 変 数 nonomatch が 設 定 さ れ て い る 場 合 、 ど れ に も マ ッ チ し な い パ タ ー ン (あ る い は パ タ ー ン の 列 ) は エ ラ ー に な ら ず に 無 変 換 の ま ま 残 さ れ ま す 。 フ ァ イ ル 名 置 換 を 止 め る た め に 、 シ ェ ル 変 数 noglob を 設 定 す る こ と が で き ま す 。 編 集 コ マ ン ド expand-glob は 、 通 常 は ’^X-*’ に 結 合 さ れ て い ま す が 、 こ れ を 使 い 、 個 々 の フ ァ イ ル 名 置 換 の 展 開 を 対 話 的 に 行 う こ と が で き ま す 。 デ ィ レ ク ト リ ス タ ッ ク 置 換 (+) デ ィ レ ク ト リ ス タ ッ ク は デ ィ レ ク ト リ の 列 で あ り 、 0 か ら 番 号 付 け ら れ 、 組 み 込 み コ マ ン ド pushd, popd, dirs (そ ち ら も 参 照 ) が 使 用 し ま す 。 dirs コ マ ン ド を 使 用 す る と 、 デ ィ レ ク ト リ ス タ ッ ク を い つ で も 表 示 で き 、 フ ァ イ ル に 書 き 込 む こ と が で き 、 フ ァ イ ル か ら 読 み 込 む こ と が で き 、 そ し て ク リ ア す る こ と が で き ま す 。 シ ェ ル 変 数 savedirs, dirsfile に 値 を 設 定 す る こ と で 、 ロ グ ア ウ ト 時 の デ ィ レ ク ト リ ス タ ッ ク の 書 き 込 み と 、 ロ グ イ ン 時 の 読 み 込 み を 自 動 的 に 行 う こ と が で き ま す 。 シ ェ ル 変 数 dirstack を 使 い 、 デ ィ レ ク ト リ ス タ ッ ク の 中 を 調 べ る こ と が で き 、 デ ィ レ ク ト リ ス タ ッ ク に 任 意 の デ ィ レ ク ト リ を 設 定 す る こ と が で き ま す 。 文 字 ’=’ の 後 ろ に 1 桁 以 上 の 数 字 が 続 く と 、 そ れ は デ ィ レ ク ト リ ス タ ッ ク 中 の エ ン ト リ に 展 開 さ れ ま す 。 特 殊 な 場 合 と し て 、 ’=−’ は ス タ ッ ク の 最 新 の デ ィ レ ク ト リ に 展 開 し ま す 。 た と え ば 、 次 の よ う に で す 。

>

dirs −v

0 /usr/bin
1 /usr/spool/uucp
2 /usr/accts/sys > echo =1
/usr/spool/uucp
echo =0/calendar
/usr/bin/calendar > echo =−
/usr/accts/sys シ ェ ル 変 数 noglob, nonomatch と 編 集 コ マ ン ド expand-glob は フ ァ イ ル 名 置 換 と 同 様 に デ ィ レ ク ト リ ス タ ッ ク に も 適 用 さ れ ま す 。 そ の 他 の 置 換 (+) フ ァ イ ル 名 を 含 む 変 換 が 他 に い く つ か あ り ま す 。 厳 密 に は 先 に 説 明 し た も の と 関 係 が あ る わ け で は あ り ま せ ん が 、 完 全 を 期 す る た め に こ こ で 説 明 し て お き ま す 。 変 数 symlinks (そ ち ら も 参 照 ) が ’expand’ に 設 定 さ れ て い る 場 合 、 ど の よ う な フ ァ イ ル 名 も フ ル パ ス に 展 開 さ れ る 可 能 性 が あ り ま す 。 ク ォ ー ト す る こ と で こ の 展 開 を 止 め る こ と が で き 、 編 集 コ マ ン ド normalize-path を 使 用 す る と 要 求 に 応 じ て 展 開 を 止 め る こ と が で き ま す 。 ま た 、 編 集 コ マ ン ド normalize-command は 、 PATH に あ る コ マ ン ド を 、 要 求 に 応 じ て フ ル パ ス に 展 開 し ま す 。 最 後 に 、 cdpushd は ’−’ を 以 前 の 作 業 デ ィ レ ク ト リ (シ ェ ル 変 数 owd と 等 価 ) と 解 釈 し ま す 。 こ れ は 置 換 で も な ん で も な く 、 こ の コ マ ン ド だ け で 認 識 さ れ る 省 略 記 法 で す 。 そ れ で も 、 こ の 表 記 も ク ォ ー ト す る こ と で こ の 解 釈 を 止 め る こ と が で き ま す 。 コ マ ン ド 次 の 3 つ の セ ク シ ョ ン で は 、 シ ェ ル が ど の よ う に コ マ ン ド を 実 行 し 、 そ れ ら の 入 出 力 を ど の よ う に 扱 う か を 説 明 し ま す 。 単 純 コ マ ン ド 、 パ イ プ ラ イ ン 、 コ マ ン ド 列 単 純 コ マ ン ド は 、 単 語 の 列 で あ り 、 そ の 最 初 の 単 語 が 実 行 さ れ る コ マ ン ド で す 。 ’|’ 文 字 に よ っ て 区 切 ら れ た 一 連 の 単 純 コ マ ン ド は パ イ プ ラ イ ン を 形 成 し ま す 。 パ イ プ ラ イ ン 内 の そ れ ぞ れ の コ マ ン ド の 出 力 は 次 の コ マ ン ド の 入 力 に 接 続 さ れ ま す 。 単 純 コ マ ン ド と パ イ プ ラ イ ン は ’;’ 文 字 を 使 っ て コ マ ン ド 列 に 組 み 入 れ る こ と が で き 、 並 ん で い る 順 に 実 行 さ れ ま す 。 コ マ ン ド と パ イ プ ラ イ ン は ’||’ や ’&&’ で コ マ ン ド 列 に 組 み 込 む こ と も で き 、 C 言 語 で 扱 わ れ る の と 同 様 に 、 最 初 の コ マ ン ド が 失 敗 し た 時 に だ け (’||’の 場 合 )、 あ る い は 成 功 し た 時 に だ け (’&&’の 場 合 )、 次 の コ マ ン ド が 実 行 さ れ ま す 。 単 純 コ マ ン ド 、 パ イ プ ラ イ ン 、 ま た は コ マ ン ド 列 は 、 括 弧 ’()’ を 使 っ て 単 純 コ マ ン ド を 形 成 す る こ と が で き 、 パ イ プ ラ イ ン や コ マ ン ド 列 の 一 部 と し て 使 用 で き ま す 。 コ マ ン ド 、 パ イ プ ラ イ ン 、 ま た は コ マ ン ド 列 の 後 に ’&’ を 置 い て 実 行 す る と 、 そ の コ マ ン ド の 終 了 を 待 た ず に 次 の コ マ ン ド を 実 行 で き ま す 。 組 み 込 み コ マ ン ド 、 非 組 み 込 み コ マ ン ド の 実 行 組 み 込 み コ マ ン ド は 、 シ ェ ル の 中 で 実 行 さ れ ま す 。 パ イ プ ラ イ ン の 構 成 要 素 の 最 後 以 外 が 組 み 込 み コ マ ン ド の と き 、 パ イ プ ラ イ ン は 、 サ ブ シ ェ ル 内 で 実 行 さ れ ま す 。 括 弧 で 括 ら れ た コ マ ン ド は 、 常 に サ ブ シ ェ ル 内 で 実 行 さ れ ま す 。

(cd; pwd); pwd こ れ は 、 現 在 の デ ィ レ ク ト リ を 移 動 す る こ と な く く ホ ー ム デ ィ レ ク ト リ を 表 示 (そ の 後 に 現 在 の デ ィ レ ク ト リ を 表 示 ) し 、 そ の 一 方 、

cd; pwd こ の 場 合 は ホ ー ム デ ィ レ ク ト リ に 移 動 し ま す 。 括 弧 で 括 ら れ た コ マ ン ド は 、 た い て い cd が 現 在 の シ ェ ル に 影 響 す る の を 防 ぐ た め に 使 用 し ま す 。 実 行 す る コ マ ン ド が 組 み 込 み コ マ ン ド で な い こ と が 判 明 す る と 、 シ ェ ル は そ の コ マ ン ド を execve(2) を 通 じ て 実 行 し よ う と し ま す 。 環 境 変 数 path 内 の 各 語 は 、 シ ェ ル が コ マ ン ド を 検 索 す る デ ィ レ ク ト リ を 指 定 し ま す 。 −c, −t オ プ シ ョ ン の い ず れ も 指 定 さ れ て い な い 場 合 、 こ れ ら の デ ィ レ ク ト リ 内 の 名 前 を 内 部 テ ー ブ ル で ハ ッ シ ュ し 、 そ の コ マ ン ド が 存 在 す る 可 能 性 の あ る デ ィ レ ク ト リ だ け で execve(2) の 実 行 を 試 み ま す 。 こ の こ と は 、 検 索 パ ス 内 の デ ィ レ ク ト リ の 数 が 多 い 場 合 に 、 コ マ ン ド の 位 置 確 定 を 大 い に 高 速 化 し ま す 。 こ の 機 構 が (unhash に よ っ て ) オ フ に さ れ 、 シ ェ ル に −c ま た は −t の オ プ シ ョ ン が 与 え ら れ る か 、 そ れ ぞ れ の path の デ ィ レ ク ト リ 構 成 要 素 の い ず れ か が ’/’ で 始 ま っ て い な い 場 合 、 シ ェ ル は 現 在 の 作 業 デ ィ レ ク ト リ と 与 え ら れ た コ マ ン ド 名 を 結 合 し て 実 行 す る フ ァ イ ル の パ ス 名 を 形 成 し ま す 。 フ ァ イ ル に 実 行 許 可 で あ っ て シ ス テ ム が 実 行 可 能 で は な い 場 合 、 (例 : 実 行 可 能 バ イ ナ リ 、 イ ン タ プ リ ン タ を 指 定 し た ス ク リ プ ト で は な い と き )、 そ れ を シ ェ ル コ マ ン ド を 含 む フ ァ イ ル で あ る と み な し 、 新 し い シ ェ ル を 起 動 し て そ の フ ァ イ ル を 読 み 込 み ま す 。 シ ェ ル の 特 殊 な エ イ リ ア ス で 、 シ ェ ル 自 体 で は な く イ ン タ プ リ タ を 指 定 す る よ う に 設 定 す る こ と も で き ま す 。 慣 習 的 な ’#!’ ス ク リ プ ト イ ン タ プ リ タ を 理 解 し な い シ ス テ ム 上 で は 、 シ ェ ル は そ れ を エ ミ ュ レ ー ト す る よ う に コ ン パ イ ル さ れ ま す ; シ ェ ル 変 数 version を 参 照 し て く だ さ い 。 そ の 場 合 、 シ ェ ル が フ ァ イ ル の 最 初 の 行 を チ ェ ッ ク し 、 そ れ が ’#!interpreter arg ...’ の 形 式 で あ る か ど う か を 確 認 し ま す 。 こ の 形 式 で あ れ ば 、 シ ェ ル は 与 え ら れ た 引 数 と と も に イ ン タ プ リ タ を 起 動 し て 、 そ の フ ァ イ ル を 標 準 入 力 に 供 給 し ま す 。 入 出 力 コ マ ン ド の 標 準 入 力 と 標 準 出 力 は 以 下 の 文 法 に 従 っ て リ ダ イ レ ク ト す る こ と が で き ま す :

< name フ ァ イ ル

name (変 数 、 コ マ ン ド 、 フ ァ イ ル 名 展 開 を 受 け ま す ) を オ ー プ ン し 、 コ マ ン ド の 標 準 入 力 と し ま す 。

<< word

word と 同 一 の 行 が 出 現 す る ま で 、 シ ェ ル の 入 力 を 読 み 込 み ま す 。 word は 変 数 、 フ ァ イ ル 名 、 コ マ ン ド 置 換 を 受 け ま せ ん 。 シ ェ ル 入 力 の 行 は 読 み 込 ま れ る と す ぐ 、 置 換 を 行 う 前 に word と 比 較 さ れ ま す 。 word に ’\’, ’"’, ’’’, ’’’ の ク ォ ー ト が 出 現 し な け れ ば 、 行 の 中 で コ マ ン ド 置 換 が 実 行 さ れ ま す 。 こ の 置 換 を 抑 制 す る た め に 、 ’\’ に よ っ て ’$’, ’\’, ’’’ を ク ォ ー ト す る こ と が で き ま す 。 コ マ ン ド 置 換 に お い て 、 す べ て の 空 白 、 タ ブ 、 改 行 は 保 存 さ れ ま す が 、 最 後 の 改 行 は 削 除 さ れ ま す 。 読 み 込 ん だ 行 は す べ て テ ン ポ ラ リ フ ァ イ ル に 保 存 さ れ 、 コ マ ン ド の 標 準 入 力 と し て 用 い ら れ ま す 。

> name >! name >& name >

&! name フ ァ イ ル name を 標 準 出 力 と し て 用 い ま す 。 フ ァ イ ル が 存 在 し な け れ ば 作 成 さ れ ま す 。 す で に フ ァ イ ル が 存 在 す れ ば そ の 内 容 は 切 り 捨 て ら れ 、 以 前 の 内 容 は 失 わ れ ま す 。 シ ェ ル 変 数 noclobber が セ ッ ト さ れ て い る 場 合 、 フ ァ イ ル が 存 在 し な い か 文 字 型 特 殊 フ ァ イ ル (端 末 や ’/dev/null’ の よ う な ) で な け れ ば エ ラ ー に な り ま す 。 こ れ は 、 す で に 存 在 す る フ ァ イ ル を 間 違 え て 削 除 し て し ま う こ と を 防 止 し ま す 。 ’!’ を 用 い た 形 式 を 使 う と 、 こ の 検 査 を 抑 制 す る こ と が で き ま す 。

’&’ を 用 い た 形 式 で は 、 標 準 出 力 と と も に 診 断 メ ッ セ ー ジ 出 力 も フ ァ イ ル へ リ ダ イ レ ク ト さ れ ま す 。 name は 、 ’<’ の 入 力 フ ァ イ ル 名 の 場 合 と 同 様 の 展 開 を 受 け ま す 。 >> name >>& name >>! name >>

&! name

’>’ と 同 様 に 、 フ ァ イ ル name を 標 準 出 力 と し て 用 い ま す 。 た だ し 、 コ マ ン ド の 出 力 は フ ァ イ ル へ 追 加 さ れ ま す 。 変 数 noclobber が セ ッ ト さ れ て い る 場 合 、 フ ァ イ ル が 存 在 し な け れ ば エ ラ ー と な り ま す 。 ’!’ を 用 い る こ と で 、 こ の 検 査 を 抑 制 す る こ と が で き ま す 。 コ マ ン ド は 、 シ ェ ル が 起 動 さ れ た と き の 環 境 を 引 き 継 ぎ ま す 。 た だ し こ の 環 境 は 入 出 力 の パ ラ メ ー タ に よ っ て 変 更 さ れ ま す し 、 コ マ ン ド が パ イ プ ラ イ ン の 中 に あ っ た 場 合 も 変 更 さ れ ま す 。 し た が っ て 、 以 前 の い く つ か の シ ェ ル と は 異 な り 、 シ ェ ル の コ マ ン ド フ ァ イ ル か ら 起 動 さ れ た コ マ ン ド は 、 デ フ ォ ル ト で は そ の コ マ ン ド の テ キ ス ト へ ア ク セ ス で き ま せ ん 。 か わ り に そ れ ら の コ マ ン ド は 、 シ ェ ル の も と も と の 標 準 入 力 を そ の ま ま 受 け 継 ぎ ま す 。 シ ェ ル ス ク リ プ ト の 内 部 で 、 コ マ ン ド に あ ら か じ め 決 ま っ た (inline) デ ー タ を 渡 す 場 合 に は 、 標 準 入 出 力 の 形 式 で は な く 、 ’<<’ の 機 構 を 使 う こ と が で き ま す 。 こ の よ う に 制 限 す る こ と に よ り 、 シ ェ ル コ マ ン ド ス ク リ プ ト を パ イ プ ラ イ ン の 一 部 と し て 用 い る こ と が で き ま す 。 バ ッ ク グ ラ ウ ン ド で 実 行 さ れ て い る コ マ ン ド の 標 準 入 力 も /dev/null 等 に リ ダ イ レ ク ト さ れ る こ と な く 、 シ ェ ル の 標 準 入 力 を そ の ま ま 受 け 継 い で い ま す 。 も し 標 準 入 力 が 端 末 で 、 コ マ ン ド が 端 末 か ら 読 み 込 も う と し た 場 合 、 そ の プ ロ セ ス は ブ ロ ッ ク さ れ 、 シ ェ ル は ユ ー ザ に そ の こ と を 通 知 し ま す (ジ ョ ブ の 項 を 参 照 )。 診 断 メ ッ セ ー ジ 出 力 も パ イ プ に リ ダ イ レ ク ト す る こ と が で き ま す 。 単 に ’|’ の か わ り に ’|&’ を 使 い ま す 。 シ ェ ル は 、 標 準 出 力 の リ ダ イ レ ク ト な し で 、 診 断 メ ッ セ ー ジ 出 力 を リ ダ イ レ ク ト で き な く な り ま す 。 そ の た め 、 ’(コ マ ン ド > 出 力 フ ァ イ ル ) >& エ ラ ー フ ァ イ ル ’ は 、 無 難 な 予 備 手 段 と し て さ れ て ま す 。 出 力 フ ァ イ ルエ ラ ー フ ァ イ ル の ど ち ら か が 、 端 末 に 出 力 を 送 る た め の ’/dev/tty’ で す 。 特 徴 こ こ で は シ ェ ル が ど の よ う に コ マ ン ド ラ イ ン を 受 け 入 れ 、 解 釈 し 、 実 行 す る か を 説 明 し ま し た 。 次 は 、 便 利 な 特 徴 に つ い て 説 明 し ま す 。 制 御 フ ロ ー こ の シ ェ ル に は 、 コ マ ン ド フ ァ イ ル (シ ェ ル ス ク リ プ ト ) や (制 約 は あ る も の の 便 利 な ) 端 末 か ら の 入 力 処 理 の 流 れ を 制 御 す る た め に 使 用 で き る 多 く の コ マ ン ド を 備 え て い ま す 。 こ れ ら の コ マ ン ド は 、 入 力 の 再 読 み 込 み や 読 み 飛 ば し を 行 う た め シ ェ ル を 強 制 的 に 操 作 し ま す 。 こ れ ら の 実 装 の た め に 、 幾 つ か の コ マ ン ド に は 制 限 が あ り ま す 。

foreachswitchwhile 文 は 、 if 文 の if-then-else 形 式 と 同 様 に 、 後 で 示 す よ う に 入 力 行 の 単 独 の 単 純 コ マ ン ド 中 に 主 要 な キ ー ワ ー ド が 現 れ る こ と を 要 求 し ま す 。 シ ェ ル の 入 力 が シ ー ク 可 能 で な い 場 合 は 、 ル ー プ が 読 み 込 ま れ る と 常 に 入 力 を バ ッ フ ァ し 、 こ の 内 部 バ ッ フ ァ を シ ー ク す る こ と で ル ー プ に よ る 再 読 み 込 み を 可 能 に し ま す 。 (こ れ を 許 可 し た 結 果 、 後 方 へ 向 か う goto が シ ー ク 可 能 で な い 入 力 に つ い て も 成 功 す る こ と に な り ま す 。 ) 組 み 込 み コ マ ン ド の if, while, exit は 共 通 し た 文 法 を 持 っ た 式 を 使 い ま す 。 式 に は 、 次 の 3 つ の セ ク シ ョ ン の 中 で 説 明 さ れ る 任 意 の 演 算 子 を 含 め る こ と が で き ま す 。 @ 組 み 込 み コ マ ン ド (そ ち ら も 参 照 ) 自 体 は 、 文 法 を 区 切 る の で 注 意 し て く だ さ い 。 論 理 演 算 子 , 算 術 演 算 子 , 比 較 演 算 子 こ れ ら の 演 算 子 は C の 演 算 子 と 同 じ 優 先 順 位 と な っ て い ま す 。 演 算 子 に は 、 次 の も の が あ り ま す 。

|| && | ^ & == != =~ !~ <= >=

< > << >> + − * / % ! ~ ( ) こ こ に 挙 げ た 演 算 子 は 右 側 の も の ほ ど 優 先 順 位 が 高 く な っ て い ま す 。 た だ し 、 ’==’ ’!=’ ’=~’ ’!~’ の 4 つ 、 ’<=’ ’>=’ ’<’ ’>’ の 4 つ 、 ’<<’ ’>>’ の 2 つ 、 ’+’ ’-’ の 2 つ 、 ’*’ ’/’ ’%’ の 3 つ は そ れ ぞ れ 同 一 の グ ル ー プ に 所 属 し て お り 、 同 じ グ ル ー プ に 所 属 し て い る 演 算 子 の 優 先 順 位 は 同 じ レ ベ ル と な っ て い ま す 。 演 算 子 ’==’ ’!=’ ’=~’ ’!~’ は 引 数 を 文 字 列 と し て 比 較 し ま す 。 他 の 演 算 子 は す べ て 数 値 で 比 較 し ま す 。 演 算 子 ’=~’ ’!~’ は ’!=’ ’==’ と 似 て い ま す が 、 左 側 の オ ペ ラ ン ド に マ ッ チ す る グ ロ ブ パ タ ー ン (フ ァ イ ル 名 置 換 を 参 照 ) を 右 側 に 置 く こ と が 異 な り ま す 。 必 要 な も の に 対 し て だ け パ タ ー ン マ ッ チ を 行 う の で 、 シ ェ ル ス ク リ プ ト 中 に お け る switch 組 み 込 み コ マ ン ド の 使 用 の 必 要 を 減 ら し ま す 。

’0’ で 始 ま る 文 字 列 は 8 進 数 と み な さ れ ま す 。 空 の 文 字 列 や 引 数 が ぬ け て い る も の は ’0’ と み な さ れ ま す 。 す べ て の 式 の 結 果 は 10 進 数 で 表 さ れ る 文 字 列 に な り ま す 。 特 に 、 式 の 構 成 要 素 が 同 一 の 単 語 中 に 複 数 個 現 れ る こ と は な い と い う こ と に 注 意 し て く だ さ い 。 例 外 と し て 、 パ ー サ に 文 法 的 に 特 別 な 意 味 を 持 つ 式 の 構 成 要 素 (’&’ ’|’ ’<’ ’>’ ’(’ ’)’) が 隣 り に く る こ と は 構 い ま せ ん 。 た だ し 、 こ れ ら は 空 白 で 区 切 ら れ る べ き で す 。 コ マ ン ド 終 了 ス テ ー タ ス 式 の 中 で コ マ ン ド を 実 行 す る こ と が で き 、 式 を 中 括 弧 (’{}’) で 囲 む と 終 了 ス テ ー タ ス が 返 さ れ ま す 。 中 括 弧 は 、 コ マ ン ド の 単 語 か ら 空 白 で 区 切 る こ と を 忘 れ な い で く だ さ い 。 コ マ ン ド の 実 行 が 成 功 し た 場 合 は 、 真 (た と え ば ’1’) を 返 し ま す 。 コ マ ン ド が 0 の ス テ ー タ ス で 終 了 し た 場 合 、 ま た は 実 行 に 失 敗 し た 場 合 は 、 偽 (た と え ば ’0’) を 返 し ま す 。 も っ と 詳 し い ス テ ー タ ス の 情 報 が 必 要 な 場 合 は 、 コ マ ン ド を 式 の 外 部 で 実 行 し 、 シ ェ ル 変 数 status を 調 べ て く だ さ い 。 フ ァ イ ル 問 い 合 わ せ 演 算 子 こ れ ら の 演 算 子 の う ち 幾 つ か は フ ァ イ ル と 関 連 す る オ ブ ジ ェ ク ト に つ い て 真 /偽 の 判 定 を 行 い ま す 。 こ れ ら は op file の 形 式 で す 。 op は 次 の う ち の ど れ か 1 つ で す 。

r 読 み 取 り ア ク セ ス

w 書 き 込 み ア ク セ ス

x 実 行 ア ク セ ス

X パ ス 中 に あ る 実 行 可 能 フ ァ イ ル や シ ェ ル 組 み 込 み コ マ ン ド 。 た と え ば

’−X ls’ と ’−X ls−F’ は 一 般 に 真 で あ り 、 ’−X /bin/ls’ は そ う で は な い (+)

e 存 在

o 所 有 者

z サ イ ズ

0

s サ イ ズ が

0 で な い (+)

f 通 常 フ ァ

イ ル

d デ ィ レ ク ト リ

l シ ン ボ リ ッ ク リ ン ク

(+) *

b ブ ロ ッ ク 型 特 殊 フ ァ イ

ル (+)
c
キ ャ ラ ク タ 型 特 殊 フ ァ イ ル (+)
p
名 前 付 き パ イ プ

(fifo) (+) *

S ソ ケ ッ ト 型 特 殊 フ ァ イ ル

(+) *

u

set-user-ID ビ ッ ト が セ ッ ト さ れ て い る (+)

g

set-group-ID ビ ッ ト が セ ッ ト さ れ て い る (+)

k

ス テ ィ ッ キ ー ビ ッ ト が セ ッ ト さ れ て い る (+)
t

file (こ れ は 数 字 で な け れ ば な ら な い ) は 端 末 デ バ イ ス に 対 し て オ ー プ ン し て い る フ ァ イ ル 記 述 子 で あ る (+)

R

migrate さ れ て い る (convex シ ス テ ム の み 有 効 ) (+)

L

多 重 演 算 子 の 中 で こ の 演 算 子 の 後 に く る 演 算 子 は 、 シ ン ボ リ ッ ク リ ン ク が 指 さ れ て い る フ ァ イ ル で は な く 、 シ ン ボ リ ッ ク リ ン ク そ の も の に 適 用 さ れ る (+) *

file は コ マ ン ド と 展 開 さ れ た フ ァ イ ル 名 で 、 指 定 さ れ た 実 ユ ー ザ に 対 す る 関 係 が あ る か ど う か テ ス ト し ま す 。 file が 存 在 し て い な い 場 合 、 も し く は ア ク セ ス で き な い 場 合 、 ’*’ で 示 し た 演 算 子 に つ い て は 、 指 定 の フ ァ イ ル タ イ プ が 現 在 の シ ス テ ム に 存 在 し て い な け れ ば す べ て の 問 い 合 わ せ は 偽 (た と え ば ’0’) を 返 し ま す 。

s true こ れ ら の 演 算 子 は 、 簡 潔 に す る た め に 連 結 す る こ と が で き ま す 。 ’−xy file’ は ’−x file && −y file’ と 等 価 で す 。 (+) た と え ば ’−fx’ は 通 常 の 実 行 可 能 フ ァ イ ル に 対 し て は 真 (’1’ を 返 す ) で す が 、 デ ィ レ ク ト リ に 対 し て は そ う で は あ り ま せ ん 。

s L は 多 重 演 算 子 の 中 で 使 用 で き ま す 。 こ の 演 算 子 の 後 に く る 演 算 子 は 、 シ ン ボ リ ッ ク リ ン ク が 指 さ れ て い る フ ァ イ ル で は な く 、 シ ン ボ リ ッ ク リ ン ク そ の も の に 適 用 さ れ ま す 。 た と え ば ’−lLo’ は 呼 び 出 し ユ ー ザ が 所 有 し て い る リ ン ク に 対 し て は 真 で す 。 Lr, Lw, Lx は リ ン ク に 対 し て は 常 に 真 で 、 リ ン ク で な い も の に 対 し て は 偽 で す 。 L は 多 重 演 算 子 の 中 で 最 後 の 演 算 子 に な っ た 場 合 、 異 な っ た 意 味 を 持 ち ま す 。 以 下 を 参 照 し て く だ さ い 。

s file に 渡 す べ き 演 算 子 と 、 そ う で な い 演 算 子 (た と え ば Xt) を 連 結 す る こ と は 可 能 で す が 、 実 用 的 で は な く 、 し ば し ば 間 違 い の 元 に な り ま す 。 特 に 、 フ ァ イ ル で な い 演 算 子 に L を つ け る と 、 妙 な 結 果 に な り ま す 。 他 の 演 算 子 は 他 の 情 報 、 つ ま り 単 な る ’0’ や ’1’ だ け で は な い 情 報 を 返 し ま す 。 (+) こ れ ら は 前 に 示 し た の と 同 じ 書 式 に な り ま す 。 op は 次 の う ち の ど れ か 1 つ で す 。

A エ ポ ッ ク か ら の 秒 数 で 表 し た 、 最 後 に フ ァ イ ル に ア ク セ ス し た 時 間

A:

A と 同 じ で 、 タ イ ム ス タ ン プ の 書 式 。 例 : ’Fri May 14 16:36:10 1993’

M 最 後 に フ ァ イ ル を 変 更 し た 時 間

M:

M と 同 じ で 、 タ イ ム ス タ ン プ の 書 式

C 最 後 に

inode を 変 更 し た 時 間

C:

C と 同 じ で 、 タ イ ム ス タ ン プ の 書 式

D デ バ イ ス 番 号

I

inode 番 号

F

device:inode の 形 式 で 表 し た 複 合 file 識 別 子

L

シ ン ボ リ ッ ク リ ン ク が 指 し て い る フ ァ イ ル の 名 前

N

(ハ ー ド ) リ ン ク の 数

P

先 頭 に 0 が つ い て い な い 8 進 数 で 表 し た パ ー ミ ッ シ ョ ン
P:

P と 同 じ で 、 先 頭 に 0 が つ く

Pmode

’−P file & mode’ と 等 価 。 た と え ば 、 ’−P22 file’ は file の グ ル ー プ と 他 者 が 書 き 込 み 可 で あ れ ば ’22’ を 、 グ ル ー プ の み で あ れ ば ’20’ を 、 何 も な け れ ば ’0’ を 返 す 。

Pmode:

Pmode: と 同 じ で 、 先 頭 に 0 が つ く

U

数 値 で 表 し た ユ ー ザ ID

U: ユ ー ザ 名 、 ユ ー ザ 名 が

見 つ か ら な か っ た 場 合 は 数 値 で 表 し た ユ ー ザ ID

G 数 値

で 表 し た グ ル ー プ ID

G: グ ル ー プ 名 、 グ ル ー プ 名

が 見 つ か ら な か っ た 場 合 は 数 値 で 表 し た グ ル ー プ ID

Z バ イ ト 数 で

表 し た サ イ ズ こ れ ら の 演 算 子 の う ち 1 つ だ け 多 重 演 算 子 の 中 に 現 れ る こ と を 許 さ れ て い ま す が 、 必 ず 最 後 に つ け る 必 要 が あ り ま す 。 た だ し 、 L は 多 重 演 算 子 の 中 の 最 後 と そ れ 以 外 の 箇 所 で は 違 っ た 意 味 に な る の で 注 意 し て く だ さ い 。 な ぜ な ら 、 ’0’ は こ れ ら の 演 算 子 の 多 く に と っ て 正 当 な 返 り 値 の た め で す 。 こ れ ら が 失 敗 し た 場 合 、 ’0’ を 返 し ま せ ん 。 た い て い の 場 合 、 ’−1’ を 返 し 、 F は ’:’ を 返 し ま す 。 こ の シ ェ ル が POSIX を 定 義 し て コ ン パ イ ル さ れ て い る (シ ェ ル 変 数 version を 参 照 ) 場 合 、 フ ァ イ ル 問 い 合 わ せ の 結 果 は 、 access(2) シ ス テ ム コ ー ル の 結 果 に 基 づ い た も の で は な く 、 フ ァ イ ル の 許 可 ビ ッ ト に 基 づ い た も の に な り ま す 。 た と え ば 、 通 常 は 書 き 込 み 可 で あ る が 読 み 取 り 専 用 で マ ウ ン ト さ れ た フ ァ イ ル シ ス テ ム 上 に あ る フ ァ イ ル を −w で 検 査 し た 場 合 、 POSIX シ ェ ル で は 成 功 し 、 非 POSIX シ ェ ル で は 失 敗 す る こ と に な り ま す 。 フ ァ イ ル 問 い 合 わ せ 演 算 子 は filetest 組 み 込 み コ マ ン ド (そ ち ら も 参 照 ) と 等 価 に な り 得 ま す 。 (+) ジ ョ ブ シ ェ ル は パ イ プ ラ イ ン の 各 々 に 対 し ジ ョ ブ を 1 つ ず つ 関 連 付 け ま す 。 シ ェ ル は 、 現 在 実 行 中 の ジ ョ ブ の 一 覧 表 を 保 持 し て お り 、 こ れ は 、 jobs コ マ ン ド に よ っ て 表 示 す る こ と が で き ま す 。 ジ ョ ブ に は 整 数 の 番 号 が 割 り 当 て ら れ ま す 。 ジ ョ ブ が ’&’ を 用 い て 非 同 期 に 起 動 さ れ た 場 合 、 シ ェ ル は 以 下 の よ う な 出 力 を 行 い ま す :

[1] 1234 こ れ は 、 非 同 期 に 起 動 し た ジ ョ ブ が ジ ョ ブ 番 号 1 で あ り 、 プ ロ セ ス ID が 1234 で あ る (ト ッ プ レ ベ ル の ) プ ロ セ ス を 1 つ 持 っ て い る こ と を 示 し ま す 。 も し 、 あ る ジ ョ ブ を 実 行 中 に 他 の こ と を し た く な っ た 場 合 、 サ ス ペ ン ド キ ー (通 常 ^Z) を 押 す こ と に よ り 実 行 中 の ジ ョ ブ に STOP シ グ ナ ル を 送 信 す る こ と が で き ま す 。 通 常 、 シ ェ ル は そ の ジ ョ ブ が 一 時 停 止 し た (Suspended) こ と を 出 力 し 、 プ ロ ン プ ト を 表 示 し ま す 。 シ ェ ル 変 数 の listjobs が 設 定 さ れ て い る と 、 組 み 込 み コ マ ン ド の jobs の よ う に す べ て の ジ ョ ブ が リ ス ト さ れ ま す 。 も し そ れ が ’long’ と 設 定 さ れ て い る と リ ス ト は ’jobs −l’ の よ う な 長 い 形 式 に な り ま す 。 こ こ で 、 一 時 停 止 し た ジ ョ ブ の 状 態 を 操 作 す る こ と が で き ま す 。 つ ま り 、 bg コ マ ン ド に よ り 停 止 し た プ ロ セ ス を ’’バ ッ ク グ ラ ウ ン ド ’’ で 走 行 さ せ た り 、 他 の コ マ ン ド を 実 行 し て か ら 、 停 止 し て い た ジ ョ ブ を fg コ マ ン ド に よ り ’’フ ォ ア グ ラ ウ ン ド ’’ で 再 実 行 さ せ る こ と な ど が で き ま す 。 (編 集 コ マ ン ド の run-fg-editor も 参 照 し て く だ さ い 。 ) ’^Z’ は 即 座 に 効 力 を 発 揮 し 、 割 り 込 み と 同 様 に 、 そ れ ま で 待 た さ れ て い た 出 力 と ま だ 読 み 込 ま れ て い な い 入 力 は 捨 て ら れ ま す 。 組 み 込 み コ マ ン ド の wait は す べ て の バ ッ ク グ ラ ウ ン ド の ジ ョ ブ が 終 了 す る ま で シ ェ ル を 待 機 状 態 に さ せ ま す 。

’^]’ キ ー は 遅 延 サ ス ペ ン ド シ グ ナ ル を 現 在 の ジ ョ ブ に 送 信 し ま す 。 こ の 場 合 は プ ロ グ ラ ム が read(2) に よ っ て 読 み 込 も う と し た 時 点 で STOP シ グ ナ ル が 送 信 さ れ ま す 。 こ れ は 、 実 行 中 の ジ ョ ブ に 対 し て い く つ か の 入 力 を 先 に 入 力 し て お き 、 先 行 入 力 を 読 み 終 え た 時 点 で ジ ョ ブ を 停 止 さ せ た い と き に 便 利 で す 。 csh(1) で は こ の 機 能 は ’^Y’ キ ー に 割 り 当 て ら れ て い ま し た 。 tcsh で は ’^Y’ は 編 集 コ マ ン ド で す 。 (+) バ ッ ク グ ラ ウ ン ド で 実 行 し て い る ジ ョ ブ が 端 末 か ら の 入 力 を 試 み た 場 合 、 そ の ジ ョ ブ は 停 止 し ま す 。 通 常 、 バ ッ ク グ ラ ウ ン ド ジ ョ ブ が 端 末 に 出 力 す る こ と は 可 能 で す が 、 こ れ は コ マ ン ド ’stty tostop’ に よ り 禁 止 す る こ と が で き ま す 。 も し こ の tty オ プ シ ョ ン を 指 定 し た な ら 、 バ ッ ク グ ラ ウ ン ド で 実 行 し て い る ジ ョ ブ は 、 端 末 か ら 入 力 を 試 み た と き と 同 様 に 、 端 末 に 出 力 を 試 み た と き に 停 止 し ま す 。 シ ェ ル で ジ ョ ブ を 参 照 す る に は い く つ か の 方 法 が あ り ま す 。 文 字 ’%’ は ジ ョ ブ 名 を 表 す の に 用 い ら れ ま す 。 番 号 1 の ジ ョ ブ を 参 照 す る 場 合 は ’%1’ と し ま す 。 単 に ジ ョ ブ 名 を 入 力 し た 場 合 、 そ の ジ ョ ブ は フ ォ ア グ ラ ウ ン ド に 移 動 さ れ ま す 。 す な わ ち ’%1’ は ’fg %1’ と 等 価 で 、 ジ ョ ブ 1 を フ ォ ア グ ラ ウ ン ド に 移 行 し ま す 。 同 様 に ’%1 &’ は 、 ち ょ う ど ’bg %1’ と 同 じ よ う に の ジ ョ ブ 1 を バ ッ ク グ ラ ウ ン ド で 再 開 さ せ ま す 。 ジ ョ ブ は そ の ジ ョ ブ を 起 動 し た と き に タ イ プ さ れ た 文 字 列 の 先 頭 部 分 に よ っ て 参 照 す る こ と も で き ま す 。 た だ し こ の 先 頭 部 分 は あ い ま い で な い 必 要 が あ り ま す 。 す な わ ち ’%ex’ は 、 ’ex’ と い う 文 字 列 で 始 ま る 名 前 の サ ス ペ ン ド さ れ た ジ ョ ブ が 1 つ し か な い 場 合 に 限 り 、 サ ス ペ ン ド さ れ た ex(1) の ジ ョ ブ を 再 開 し ま す 。 文 字 列 string を 含 む ジ ョ ブ が 1 つ し か な い 場 合 、 ’%?string’ と 入 力 す る こ と で そ れ を 指 定 す る こ と も で き ま す 。 シ ェ ル は 現 在 の ジ ョ ブ と 直 前 の ジ ョ ブ を 覚 え て い ま す 。 ジ ョ ブ に 関 係 す る 出 力 で 、 ’+’ 記 号 が 付 加 さ れ て い る の が 現 在 の ジ ョ ブ 、 ’−’ 記 号 が 付 加 さ れ て い る の が 直 前 の ジ ョ ブ で す 。 ’%+’, ’%’ と (ヒ ス ト リ 機 構 の 文 法 と の 類 似 か ら ) ’%%’ は す べ て 現 在 の ジ ョ ブ 、 ’%−’ は 直 前 の ジ ョ ブ を 参 照 す る た め の 省 略 形 で す 。 あ る 種 の シ ス テ ム で は ジ ョ ブ 制 御 機 構 を 利 用 す る た め に stty(1) の オ プ シ ョ ン ’new’ を 設 定 し て お く 必 要 が あ り ま す 。 ジ ョ ブ 制 御 機 構 は ’新 型 の ’ 端 末 ド ラ イ バ の 実 装 の 上 に 構 築 さ れ て い る か ら で 、 新 型 の 端 末 ド ラ イ バ に よ り ジ ョ ブ を 停 止 さ せ る た め の 割 り 込 み 文 字 を キ ー ボ ー ド か ら 入 力 で き る よ う に な る か ら で す 。 新 型 の 端 末 ド ラ イ バ の オ プ シ ョ ン 設 定 に つ い て は stty(1) と 組 み 込 み コ マ ン ド の setty を 参 照 し て く だ さ い 。 状 態 通 知 シ ェ ル は 、 プ ロ セ ス が 状 態 の 変 化 を 起 こ す と す ぐ に そ れ を 検 知 し ま す 。 通 常 は プ ロ ン プ ト が 表 示 さ れ る 直 前 に の み 、 あ る ジ ョ ブ が 停 止 し て そ れ 以 上 処 理 が 進 ま な く な っ た こ と を 通 知 し ま す 。 こ れ は ユ ー ザ の 仕 事 を 邪 魔 し な い よ う に す る た め で す 。 し か し な が ら 、 シ ェ ル 変 数 notify を 設 定 す る こ と に よ り 、 シ ェ ル に バ ッ ク グ ラ ウ ン ド ジ ョ ブ の 状 態 が 変 化 し た こ と を た だ ち に 通 知 さ せ る こ と が で き ま す 。 ま た 、 シ ェ ル コ マ ン ド notify に よ り 、 特 定 の ジ ョ ブ の 状 態 の 変 化 を た だ ち に 通 知 さ せ る よ う に マ ー ク す る こ と も で き ま す 。 引 数 な し の notify は 現 在 の プ ロ セ ス に 対 し て マ ー ク を つ け ま す 。 バ ッ ク グ ラ ウ ン ド ジ ョ ブ の 開 始 直 後 に 単 に ’notify’ と 打 つ と そ の ジ ョ ブ を マ ー ク し ま す 。 停 止 し た ジ ョ ブ が 存 在 す る 状 態 で シ ェ ル を 終 了 し よ う と す る と ’You have stopped jobs.’ と い う 警 告 を 受 け ま す 。 こ の と き jobs コ マ ン ド に よ り ど の ジ ョ ブ が 停 止 中 で あ る の か を 確 認 す る こ と が で き ま す 。 警 告 を 受 け た 直 後 に jobs コ マ ン ド で 確 認 し た 場 合 と 、 警 告 を 受 け た 直 後 に 再 度 シ ェ ル を 終 了 さ せ よ う と し た 場 合 に は 、 シ ェ ル は 2 度 目 の 警 告 を 行 わ ず に 停 止 中 の ジ ョ ブ を 終 了 さ せ て か ら シ ェ ル を 終 了 し ま す 。 自 動 イ ベ ン ト 、 定 期 イ ベ ン ト 、 時 刻 指 定 イ ベ ン ト (+) シ ェ ル の ’’ラ イ フ サ イ ク ル ’’ に お い て 、 い ろ い ろ な 時 間 に 自 動 的 に コ マ ン ド の 実 行 と 他 の ア ク シ ョ ン を 行 う さ ま ざ ま な 方 法 が 用 意 さ れ て い ま す 。 そ れ ら を こ こ に 要 約 し 、 詳 し く は 組 み 込 み コ マ ン ド特 別 な シ ェ ル 変 数特 別 な エ イ リ ア ス の 適 切 な 場 所 で 説 明 し ま す 。 組 み 込 み コ マ ン ド の sched は コ マ ン ド を イ ベ ン ト の 予 定 表 に 置 き 、 指 定 さ れ た 時 刻 に シ ェ ル に よ っ て 実 行 さ れ る よ う に し ま す 。 特 別 な エ イ リ ア ス と し て beepcmd, cwdcmd, periodic, precmd, postcmd, jobcmd が あ り 、 そ れ ぞ れ シ ェ ル が ベ ル を 鳴 ら す 時 、 作 業 デ ィ レ ク ト リ が 変 わ る 時 、 tperiod 分 毎 、 各 プ ロ ン プ ト の 前 、 各 コ マ ン ド の 実 行 前 、 各 コ マ ン ド の 実 行 後 、 ジ ョ ブ の 起 動 時 ま た は フ ォ ア グ ラ ウ ン ド 移 行 時 に 実 行 さ せ た い コ マ ン ド を 設 定 で き ま す 。 シ ェ ル 変 数 の autologout を 使 っ て 、 指 定 し た 分 数 の 休 止 後 に ロ グ ア ウ ト ま た は シ ェ ル を ロ ッ ク す る よ う に 設 定 で き ま す 。 シ ェ ル 変 数 の mail を 使 っ て 、 定 期 的 に 新 し い メ ー ル を チ ェ ッ ク す る よ う に 設 定 で き ま す 。 シ ェ ル 変 数 の printexitvalue を 使 っ て 、 0 以 外 の ス テ ー タ ス で 終 了 し た コ マ ン ド の 終 了 ス テ ー タ ス を 表 示 す る よ う に 指 定 で き ま す 。 シ ェ ル 変 数 の rmstar を 使 っ て 、 ’rm *’ が 入 力 さ れ た と き に ユ ー ザ に 間 違 い な い か ど う か 確 認 を 求 め る よ う に 指 定 で き ま す 。 シ ェ ル 変 数 の time を 使 っ て 、 指 定 し た 秒 数 よ り 多 く CPU 時 間 を 使 っ た プ ロ セ ス の 終 了 後 に 組 み 込 み コ マ ン ド の time を 実 行 す る よ う に 設 定 で き ま す 。 シ ェ ル 変 数 の watchwho を 使 っ て 、 指 定 し た ユ ー ザ が ロ グ イ ン ま た は ロ グ ア ウ ト し た 時 に レ ポ ー ト す る よ う に 設 定 で き ま す 。 ま た 組 み 込 み コ マ ン ド の log で い つ で も そ れ ら の ユ ー ザ に つ い て の レ ポ ー ト を 得 ら れ ま す 。 固 有 言 語 シ ス テ ム の サ ポ ー ト (+) シ ェ ル は 8 ビ ッ ト ク リ ー ン な の で (そ の よ う に コ ン パ イ ル さ れ て い れ ば 。 シ ェ ル 変 数 の version を 参 照 )、 そ れ を 必 要 と す る 文 字 セ ッ ト を サ ポ ー ト し ま す 。 NLS サ ポ ー ト は シ ェ ル が シ ス テ ム の NLS を 使 う よ う に コ ン パ イ ル さ れ て い る か ど う か に よ っ て 異 な り ま す (再 び 、 version を 参 照 )。 ど ち ら の 場 合 で も 7 ビ ッ ト ASCII が デ フ ォ ル ト の 文 字 分 類 (た と え ば そ れ ら の 文 字 は 表 示 可 能 ) で あ り 、 そ し て 順 序 づ け で す 。 環 境 変 数 の LANG ま た は LC_CTYPE を 変 更 す る と 、 こ れ ら の 点 に つ い て 変 化 の 有 無 が チ ェ ッ ク さ れ ま す 。 シ ス テ ム の NLS を 使 う 場 合 に は 、 文 字 の 適 切 な 分 類 と 順 序 づ け を 決 定 す る た め に setlocale(3) 関 数 が 呼 び 出 さ れ ま す 。 こ の 関 数 は 典 型 的 に は 環 境 変 数 の LANGLC_CTYPE を 調 べ ま す 。 よ り 詳 細 に つ い て は シ ス テ ム の ド キ ュ メ ン ト を 参 照 し て く だ さ い 。 シ ス テ ム の NLS を 使 わ な い 場 合 に は 、 シ ェ ル は ISO 8859-1 文 字 セ ッ ト が 使 わ れ て い る と 仮 定 す る こ と で シ ミ ュ レ ー ト し ま す 。 変 数 LANGLC_CTYPE の い ず れ か が 設 定 さ れ て い て も 、 そ れ ら の 値 を 無 視 し ま す 。 シ ミ ュ レ ー ト さ れ た NLS で は 順 序 づ け に 影 響 し ま せ ん 。 加 え て 、 本 物 と シ ミ ュ レ ー ト さ れ た NLS の 両 方 で 、 \200−\377 の 範 囲 、 つ ま り M-char で バ イ ン ド さ れ て い る す べ て の 表 示 可 能 文 字 は 、 自 動 的 に self-insert-command に 再 バ イ ン ド さ れ ま す 。 対 応 す る escape-char へ の バ イ ン ド は 、 も し あ れ ば そ の ま ま 残 り ま す 。 こ れ ら の 文 字 は 環 境 変 数 の NOREBIND が 設 定 さ れ て い れ ば 再 バ イ ン ド さ れ ま せ ん 。 こ の 機 能 は シ ミ ュ レ ー ト さ れ た NLS や す べ て が ISO 8859-1 で あ る と 仮 定 し た 原 始 的 な 本 物 の NLS で 有 効 で し ょ う 。 そ う で な け れ ば 、 \240−\377 の 範 囲 の M-char へ の バ イ ン ド は 事 実 上 解 除 さ れ ま す 。 こ の 場 合 で も 、 も ち ろ ん bindkey で 明 示 的 に 関 連 す る キ ー に 再 バ イ ン ド す る 事 は 可 能 で す 。 未 知 の 文 字 (つ ま り 表 示 可 能 で も 制 御 文 字 で も な い よ う な 文 字 ) は \nnn の よ う な 形 式 で 表 示 さ れ ま す 。 tty が 8 ビ ッ ト モ ー ド に な っ て い な い 場 合 は 、 ASCII に 変 換 し て 強 調 表 示 モ ー ド を 使 う こ と で 別 の 8 ビ ッ ト 文 字 が 表 示 さ れ ま す 。 シ ェ ル は tty の 7/8 ビ ッ ト モ ー ド を 変 更 す る こ と は な く 、 ユ ー ザ に よ る 7/8 ビ ッ ト モ ー ド の 変 更 に 従 い ま す 。 NLS 利 用 者 (ま た は メ タ キ ー を 利 用 し た い 利 用 者 ) は 、 た と え ば ~/.login フ ァ イ ル で 適 切 に stty(1) コ マ ン ド を 呼 び 出 す こ と で 、 明 示 的 に tty を 8 ビ ッ ト モ ー ド に 設 定 す る 必 要 が あ る か も し れ ま せ ん 。

OS 固 有 機 能 の サ ポ ー ト (+) 個 々 の オ ペ レ ー テ ィ ン グ シ ス テ ム で 提 供 さ れ て い る 機 能 を サ ポ ー ト す る た め に 、 多 く の 新 し い 組 み 込 み コ マ ン ド が 提 供 さ れ て い ま す 。 す べ て 組 み 込 み コ マ ン ド セ ク シ ョ ン で 詳 細 に 説 明 さ れ て い ま す 。

TCF を サ ポ ー ト す る シ ス テ ム (aix-ibm370, aix-ps2) で は 、 getspathsetspath で シ ス テ ム 実 行 パ ス を 取 得 、 設 定 し 、 getxverssetxvers で 試 験 バ ー ジ ョ ン プ リ フ ィ ッ ク ス を 取 得 、 設 定 し て 、 migrate で プ ロ セ ス を サ イ ト 間 で 移 動 さ せ ま す 。 組 み 込 み コ マ ン ド の jobs は 各 ジ ョ ブ が 実 行 さ れ て い る サ イ ト を 表 示 し ま す 。

Domain/OS で は 、 inlib で 共 有 ラ イ ブ ラ リ を 現 環 境 に 追 加 し 、 rootnode で rootnode を 変 更 し 、 ver で systype を 変 更 し ま す 。

Mach で は 、 setpath が Mach の setpath(1) と 等 価 で す 。

Masscomp/RTU と Harris CX/UX で は 、 universe で universe を 設 定 し ま す 。

Harris CX/UX で は 、 ucbatt に よ っ て 指 定 し た universe で コ マ ン ド を 走 ら せ ま す 。

Convex/OS で は 、 warp で universe を 表 示 ま た は 設 定 し ま す 。 環 境 変 数 の VENDOR, OSTYPE, MACHTYPE は 、 シ ェ ル が 自 身 が 実 行 さ れ て い る と 考 え て い る シ ス テ ム の 、 そ れ ぞ れ ベ ン ダ ー 、 オ ペ レ ー テ ィ ン グ シ ス テ ム 、 マ シ ン タ イ プ (マ イ ク ロ プ ロ セ ッ サ の ク ラ ス ま た は マ シ ン の モ デ ル ) を 表 示 し ま す 。 こ れ は い ろ い ろ な タ イ プ の マ シ ン 間 で ホ ー ム デ ィ レ ク ト リ を 共 有 す る 場 合 に 特 に 便 利 で す 。 利 用 者 は た と え ば 各 自 の ~/.login 中 で

set path = (~/bin.$MACHTYPE /usr/ucb /bin /usr/bin .) と し 、 各 マ シ ン 用 に コ ン パ イ ル さ れ た 実 行 形 式 を 適 切 な デ ィ レ ク ト リ に 置 く こ と が で き ま す 。 シ ェ ル 変 数 の version は 、 ど の オ プ シ ョ ン を 選 択 し て シ ェ ル が コ ン パ イ ル さ れ た か を 表 示 し ま す 。 組 み 込 み の newgrp、 シ ェ ル 変 数 の afsuserecho_style、 そ し て シ ス テ ム に 依 存 す る シ ェ ル の 入 力 フ ァ イ ル (フ ァ イ ル を 参 照 ) の 位 置 に も 注 意 し て く だ さ い 。 シ グ ナ ル 処 理 ロ グ イ ン シ ェ ル は ~/.logout フ ァ イ ル を 読 ん で い る 間 は 割 り 込 み を 無 視 し ま す 。 シ ェ ル は 起 動 時 に −q の 指 定 が 無 け れ ば QUIT シ グ ナ ル を 無 視 し ま す 。 ロ グ イ ン シ ェ ル は TERM シ グ ナ ル を 捕 捉 し ま す が 、 非 ロ グ イ ン シ ェ ル は TERM シ グ ナ ル へ の 挙 動 を 親 か ら 継 承 し ま す 。 他 の シ グ ナ ル に つ い て は 親 か ら シ ェ ル に 継 承 さ れ た 値 を 持 っ て い ま す 。 シ ェ ル ス ク リ プ ト で は 、 シ ェ ル の INT と TERM シ グ ナ ル の 扱 い を onintr で 制 御 で き ま す 。 そ し て HUP の 扱 い を hupnohup で 制 御 で き ま す 。 シ ェ ル は HUP で 終 了 し ま す (シ ェ ル 変 数 の logout も 参 照 )。 デ フ ォ ル ト で は 、 シ ェ ル の 子 供 た ち も そ う し ま す が 、 シ ェ ル は 終 了 時 に HUP を 子 供 た ち に 送 り ま せ ん 。 hup は シ ェ ル が 終 了 時 に 子 供 に HUP を 送 る よ う に し 、 nohup は 子 供 が HUP を 無 視 す る よ う に 設 定 し ま す 。 端 末 管 理 (+) シ ェ ル は 3 つ の 異 な る 端 末 (’’tty’’) モ ー ド の 設 定 を 使 い ま す 。 そ れ ら は 編 集 時 に 使 う ’edit’、 文 字 リ テ ラ ル を ク ォ ー ト す る 場 合 に 使 う ’quote’、 コ マ ン ド 実 行 時 に 使 う ’execute’ で す 。 シ ェ ル は 各 モ ー ド で い く つ か の 設 定 を 一 定 に 保 つ の で 、 tty を 混 乱 状 態 に し て 終 了 す る コ マ ン ド が シ ェ ル に 干 渉 す る こ と は あ り ま せ ん 。 シ ェ ル は tty の ス ピ ー ド と パ デ ィ ン グ の 変 更 に も 対 応 し ま す 。 一 定 に 保 た れ る tty モ ー ド の リ ス ト は 組 み 込 み の setty で 取 得 、 設 定 で き ま す 。 エ デ ィ タ は CBREAK モ ー ド (ま た は 同 等 の モ ー ド ) を 使 い ま す が 、 先 行 入 力 さ れ た 文 字 は い つ で も 受 け 付 け ら れ ま す 。

echotc, settc, telltc コ マ ン ド を 使 っ て 、 コ マ ン ド ラ イ ン か ら 端 末 の ケ ー パ ビ リ テ ィ を 操 作 、 デ バ ッ グ す る こ と が で き ま す 。

SIGWINCH か SIGWINDOW を サ ポ ー ト す る シ ス テ ム で は 、 シ ェ ル は ウ ィ ン ド ウ の リ サ イ ズ に 自 動 的 に 適 応 し て 、 環 境 変 数 の LINESCOLUMNS が 設 定 さ れ て い れ ば 値 を 補 正 し ま す 。 環 境 変 数 の TERMCAP が li# と co# の フ ィ ー ル ド を 含 ん で い る と 、 シ ェ ル は 新 し い ウ ィ ン ド ウ サ イ ズ を 反 映 す る よ う に そ れ ら を 補 正 し ま す 。

参 照

こ の マ ニ ュ ア ル の 以 下 の セ ク シ ョ ン で は 使 用 可 能 な す べ て の 組 み 込 み コ マ ン ド特 別 な エ イ リ ア ス特 別 な シ ェ ル 変 数 に つ い て 説 明 し ま す 。 組 み 込 み コ マ ン ド

%job 組 み 込 み コ マ ン ド

fg と 同 義 で す 。

%job & 組 み 込 み コ マ ン ド

bg と 同 義 で す 。

: 何 も し ま せ ん 。 常 に

成 功 し ま す 。

@

@ name = expr
@
name[index] = expr
@
name++|--
@
name[index]++|-- 最 初 の 形 式 は 、 す べ て の シ ェ ル 変 数 の 値 を 表 示 し ま す 。

2 番 目 の 書 式 は 、 name に 値 expr を 設 定 し ま す 。 3 番 目 の 書 式 は 、 値 exprnameindex 番 目 の 要 素 に 定 義 し ま す 。 name と そ の index 番 目 の 要 素 の 両 方 が 既 に 存 在 し て い な け れ ば な り ま せ ん 。

expr は C と 同 様 に 、 ’*’, ’+’の よ う な 演 算 子 を 含 む こ と が あ り ま す 。 も し expr が ’<’, ’>’, ’&’, ’’ を 含 む の で あ れ ば 、 少 な く と も expr の そ の 部 分 は ’()’ の 中 に 書 か れ る 必 要 が あ り ま す 。 expr の 書 式 は 、 以 下 の Expressions で 説 明 さ れ る も の と は 一 切 関 係 が な い こ と に 注 意 し て く だ さ い 。

4 番 目 、 5 番 目 の 書 式 は name ま た は そ の index 番 目 の 要 素 を イ ン ク リ メ ン ト (’++’) ま た は デ ク リ メ ン ト (’−−’) し ま す 。

’@’ と name の 間 の 空 白 は 必 須 で す 。 name と ’=’ の 間 、 ま た ’=’ と expr の 間 の 空 白 は オ プ シ ョ ン で す 。 expr の 要 素 は 空 白 に よ っ て 区 切 ら れ て い な け れ ば な り ま せ ん 。

alias [name [wordlist]] 引 数 が な け れ ば 、 す べ て の エ イ リ ア ス を 表 示 し ま す 。 name を 与 え る と 、 そ の エ イ リ ア ス の 内 容 を 表 示 し ま す 。 namewordlist を 与 え る と 、 wordlistname の エ イ リ ア ス と し て 定 義 し ま す 。 wordlist は 、 エ イ リ ア ス さ れ る コ マ ン ド と フ ァ イ ル 名 で す 。 name は ’alias’ ま た は ’unalias’ で あ っ て は な り ま せ ん 。 組 み 込 み コ マ ン ド unalias に つ い て も 参 照 し て く だ さ い 。

alloc 動 的 に 取 得 し て い る メ モ リ の う ち の 使 用 量 と 空 き 容 量 を 表 示 し ま す 。 何 ら か の 引 数 を 与 え る と ブ ロ ッ ク サ イ ズ ご と の 使 用 中

/ 空 き ブ ロ ッ ク の 数 を 表 示 し ま す 。 こ の コ マ ン ド の 出 力 は シ ス テ ム に よ っ て 大 き く 異 な り ま す 。 VAX 以 外 の シ ス テ ム で は 、 異 な る メ モ リ 管 理 を 行 っ て い る か も し れ な い か ら で す 。
bg
[%job ...] 指 定 し た ジ ョ ブ (引 数 が な け れ ば 現 在 の ジ ョ ブ ) を バ ッ ク グ ラ ウ ン ド に 移 動 し ま す 。 も し そ れ ら が 停 止 し て い れ ば 再 開 さ れ ま す 。 job は 以 下 の Jobs で 説 明 す る よ う に 番 号 、 文 字 列 、 ’’, ’%’, ’+’, ’−’ で 構 成 さ れ ま す 。

bindkey [−l|−d|−e|−v|−u] (+)
bindkey
[−a] [−b] [−k] [−r] [−−] key (+)
bindkey
[−a] [−b] [−k] [−c|−s]

[−−] key command (+) オ プ シ ョ ン 無 し で は 、 第 1 の 形 式 で は バ イ ン ド さ れ て い る す べ て の キ ー と 編 集 コ マ ン ド を 表 示 し 、 第 2 の 形 式 で は key に バ イ ン ド さ れ て い る 編 集 コ マ ン ド を 表 示 し 、 第 3 の 形 式 で は 編 集 コ マ ン ド commandkey に バ イ ン ド し ま す 。 オ プ シ ョ ン は 以 下 の も の を 含 み ま す 。

−l す べ て の 編 集 コ マ ン ド の 一 覧 と 、 そ れ ぞ れ の 簡 単 な 解 説 を 表 示 し ま す 。

−d デ フ ォ ル ト の エ デ ィ タ の 標 準 キ ー バ イ ン ド を す べ て の キ ー に 適 用 し ま す 。

−e

GNU Emacs に 似 た キ ー バ イ ン ド を す べ て の キ ー に 適 用 し ま す 。

−v 標 準 の

vi(1) に 似 た キ ー バ イ ン ド を す べ て の キ ー に 適 用 し ま す 。

−a 代 替 キ ー

マ ッ プ を 表 示 ま た は そ の キ ー バ イ ン ド を 変 更 し ま す 。 代 替 キ ー マ ッ プ は vi コ マ ン ド モ ー ド の も の で す 。
−b

key を 次 の よ う に 解 釈 し ま す 。 ^character (た と え ば ’^A’)、 C-character (た と え ば ’C-A’) の よ う な も の は コ ン ト ロ ー ル キ ャ ラ ク タ 、 M-character (た と え ば ’M-A’)の よ う な も の は メ タ キ ャ ラ ク タ 、 F-string (た と え ば ’F-string’)の よ う な も の は フ ァ ン ク シ ョ ン キ ー 、 X-character (た と え ば ’X-A’) の よ う な も の は 拡 張 プ リ フ ィ ッ ク ス キ ー で す 。

−k

key は 矢 印 キ ー の 名 前 、 ’down’, ’up’, ’left’, ’right’ の い ず れ か と し て 解 釈 さ れ ま す 。

−r

key の バ イ ン ド を 解 除 し ま す 。 ’bindkey −r’ は keyself-insert-command に バ イ ン ド す る の で は な く 、 そ の キ ー の バ イ ン ド を 完 全 に 解 除 し て し ま う こ と に 注 意 し て く だ さ い 。

−c

command は 編 集 コ マ ン ド で な く 、 組 み 込 み コ マ ン ド か 外 部 コ マ ン ド の 名 前 と し て 解 釈 さ れ ま す 。

−s

command は 通 常 の 文 字 列 と し て 解 釈 さ れ 、 key が タ イ プ さ れ た 時 に 端 末 か ら 入 力 さ れ た よ う に 扱 わ れ ま す 。 command で バ イ ン ド さ れ た キ ー 自 体 も 再 び 解 釈 が 行 わ れ 、 10 レ ベ ル ま で 繰 り 返 し 解 釈 が 行 わ れ ま す 。

−−

オ プ シ ョ ン 処 理 の 中 断 を 行 い ま す 。 し た が っ て 、 次 の 単 語 が ’−’ で 始 ま っ て い た と し て も 、 key と し て 解 釈 さ れ ま す 。

−u (ま た は 何 ら か の 無 効 な オ プ シ ョ ン ) 使 い 方 を 表 示 し ま す 。

key は 1 文 字 で あ っ て も 、 文 字 列 で あ っ て も 構 い ま せ ん 。 も し コ マ ン ド が 文 字 列 に バ イ ン ド さ れ て い る な ら ば 、 文 字 列 の 最 初 の 文 字 は sequence-lead-in に バ イ ン ド さ れ 、 文 字 列 全 体 が コ マ ン ド に バ イ ン ド さ れ ま す 。

key に 含 ま れ る コ ン ト ロ ー ル 文 字 は コ ン ト ロ ー ル 文 字 そ の も の (通 常 ’^V’ に バ イ ン ド さ れ て い る エ デ ィ タ の quoted-insert コ マ ン ド で 入 力 で き る も の ) で あ っ て も 、 ’^A’ の よ う な キ ャ レ ッ ト -文 字 形 式 で あ っ て も 構 い ま せ ん 。 削 除 文 字 は ’^?’ (キ ャ レ ッ ト -疑 問 符 ) の よ う に 表 し ま す 。 keycommand は 下 に 示 す 、 バ ッ ク ス ラ ッ シ ュ で 始 ま る エ ス ケ ー プ シ ー ケ ン ス を 含 む こ と が で き ま す (System V の echo(1) で 用 い ら れ る 形 式 で す )。

\a ベ ル

\b バ ッ ク ス ペ ー ス

\e エ ス ケ ー プ

\f 改 ペ ー ジ

(フ ォ ー ム フ ィ ー ド )

\n 改 行

\r キ ャ リ ッ ジ リ タ ー ン

\t 水 平 タ ブ

\v 垂 直 タ ブ

\nnn

8 進 数 nnn で 表 さ れ る ア ス キ ー 文 字

’\’ は 後 に 続 く 文 字 に 特 別 な 意 味 が あ れ ば そ れ を 無 効 に し ま す 。 特 に ’\’ や ’^’ の 場 合 で す 。

break 実 行 を 一 番 近 い

foreach ま た は whileend の 組 の 、 end の 後 か

ら 再 開 し ま す 。 現 在 の 行 の 残 り の コ マ ン ド は 実 行 さ れ ま す 。 し た が っ て 、 複 数 の レ ベ ル の ブ レ ー ク は 、 1 行 に そ れ ら を 並 べ る こ と で 可 能 に な り ま す 。

breaksw

switch か ら の ブ レ ー ク で 、 endsw の 後 か ら 実 行 が 開 始 さ れ ま す 。

builtins (+) す べ て の 組 み 込 み コ マ ン ド の 名 前 を 表 示 し ま す 。

bye (+) 組 み 込 み コ マ ン ド

logout の 別 名 で す 。 こ れ が 使 え る よ う に コ ン パ イ

ル さ れ て い る 場 合 に の み 有 効 で す 。 シ ェ ル 変 数 version を 参 照 し て く だ さ い 。

case label: 下 で 説 明 す る switch 文 で 用 い ら れ る ラ ベ ル で す 。
cd
[−p] [−l] [−n|−v] [name] も し デ ィ レ ク ト リ 名 name が 与 え ら れ れ ば 、 シ ェ ル の 作 業 デ ィ レ ク ト リ を name に 変 更 し ま す 。 与 え ら れ な け れ ば home に 変 更 し ま す 。 も し name が ’−’ で あ れ ば 、 ひ と つ 前 の 作 業 デ ィ レ ク ト リ と し て 解 釈 さ れ ま す (Other substitutions を 参 照 )。 name が 現 在 の デ ィ レ ク ト リ の サ ブ デ ィ レ ク ト リ で な く 、 ’/’, ’./’ , ’../’ の い ず れ か で 始 ま る も の で も な い 場 合 、 変 数 cdpath の 要 素 が ひ と つ ひ と つ チ ェ ッ ク さ れ 、 サ ブ デ ィ レ ク ト リ name が 探 さ れ ま す 。 最 後 に 、 そ の ど れ も が 失 敗 し た 場 合 に name が ’/’ で は じ ま る 値 を も つ シ ェ ル 変 数 で あ れ ば 、 そ の 変 数 が 指 す デ ィ レ ク ト リ が 探 さ れ ま す 。

−p を 付 け る と 、 dirs と 同 じ よ う に 最 終 的 な デ ィ レ ク ト リ ス タ ッ ク の 内 容 を 表 示 し ま す 。 cd−l, −n, −v フ ラ グ は dirs の そ れ と 同 じ 意 味 を 持 ち 、 −p の 動 作 を 含 ん で い ま す (+)。 シ ェ ル 変 数 implicitcd に つ い て も 参 照 し て く だ さ い 。

chdir 組 み 込 み コ マ ン ド

cd の 別 名 で す 。

complete [command

[word/pattern/list[:select]/[[suffix] /] ...]] (+) 引 数 な し の 場 合 は 、 す べ て の 補 完 の 候 補 を 表 示 し ま す 。 command を つ け る と 、 command の 補 完 候 補 を 表 示 し ま す 。 commandword な ど を つ け る と 、 補 完 を 定 義 し ま す 。

command は コ マ ン ド の フ ル ネ ー ム で も 、 何 ら か の パ タ ー ン で も 構 い ま せ ん (フ ァ イ ル 名 置 換 を 参 照 )。 補 完 候 補 が ひ と つ で な い こ と を 示 す た め に 、 ’-’ で は じ め る こ と が で き ま す 。

word は 現 在 の 語 の 補 完 に ど の 単 語 が 関 係 す る の か を 指 定 す る も の で 、 以 下 の う ち ど れ か 1 つ で す 。

c 現 在 の 語 の 補 完 。

pattern は 、 コ マ ン ド ラ イ ン 上 の 現 在 の 語

に マ ッ チ す る パ タ ー ン で な け れ ば な り ま せ ん 。 pattern は 現 在 の 語 の 補 完 が 完 了 す る と 無 視 さ れ ま す 。

C

c に 似 て い ま す が 、 現 在 の 語 の 補 完 後 に pattern を 含 み ま す 。

n

次 の 語 の 補 完 。 pattern は コ マ ン ド ラ イ ン 上 の ひ と つ 前 の 語 に マ ッ チ す る パ タ ー ン で な け れ ば な り ま せ ん 。
N

n に 似 て い ま す が 、 現 在 の 語 の ふ た つ 前 の 語 に マ ッ チ す る パ タ ー ン で な け れ ば な り ま せ ん 。

p

位 置 に 依 存 し た 補 完 。 pattern は 数 値 の 範 囲 を 指 定 す る も の で あ り 、 シ ェ ル 変 数 の イ ン デ ッ ク ス と 同 じ 文 法 が 用 い ら れ ま す 。 現 在 の 語 を 含 む も の で な け れ ば な り ま せ ん 。

list は 以 下 の リ ス ト の 中 か ら 可 能 な 補 完 の リ ス ト を 示 し ま す 。

a エ イ リ ア ス

b バ イ ン デ ィ ン グ

(編 集 コ マ ン ド )

c コ マ ン ド

(組 み 込 み コ マ ン ド も 外 部 コ マ ン ド も 含 み ま す )

C 指 定 さ れ た パ ス で は じ ま る 外 部 コ マ ン ド

d デ ィ レ ク ト リ

D 指 定 さ れ た パ ス で は じ ま る デ ィ レ ク ト リ

e 環 境 変 数

f フ ァ イ ル 名

F 指 定 さ れ た パ ス で は じ ま る フ ァ イ ル 名

g グ ル ー プ 名

j ジ ョ ブ

l 制 限 値

n 何 に も 補 完 し ま せ ん

s シ ェ ル 変 数

S シ グ ナ ル

t プ レ イ ン

(’’テ キ ス ト ’’) フ ァ イ ル

T プ レ イ ン

(’’テ キ ス ト ’’) フ ァ イ ル で 、 指 定 さ れ た パ ス

で は じ ま る も の

v す べ て の 変 数

u ユ ー ザ 名

x

n に 似 て い ま す が 、 list-choices が 使 わ れ て い る 時 に は select を 表 示 し ま す 。

X 補 完

$var 変 数

var に 格 納 さ れ て い る 語

(...) リ ス ト

中 の 語

’...’ コ マ ン ド の 出 力 に 含 ま れ る 語

select は glob パ タ ー ン で す (省 略 可 能 )。 こ れ を 指 定 す る と 、 list に あ る 単 語 の う ち select に マ ッ チ す る も の だ け が 対 象 と な り 、 シ ェ ル 変 数 fignore は 無 視 さ れ ま す 。 最 後 の 3 つ の 補 完 形 式 に は select パ タ ー ン を 与 え る こ と は で き ま せ ん 。 ま た xlist-choices 編 集 コ マ ン ド が 用 い ら れ た 時 に は select を 説 明 メ ッ セ ー ジ と し て 扱 い ま す 。

suffix は 単 一 の 文 字 で 、 補 完 が 成 功 す る と そ の あ と に 追 加 さ れ ま す 。 空 の 場 合 は 何 も 追 加 さ れ ま せ ん 。 省 略 さ れ る と (こ の 場 合 4 番 目 の デ リ ミ タ も 省 略 で き ま す ) デ ィ レ ク ト リ に は ス ラ ッ シ ュ 文 字 が 、 そ の 他 の 文 字 に は ス ペ ー ス 文 字 が 追 加 さ れ ま す 。 で は い く つ か 例 を 示 し ま す 。 コ マ ン ド に よ っ て は 、 デ ィ レ ク ト リ の み を 引 数 と し て 取 る も の が あ り ま す 。 (そ の よ う な コ マ ン ド に 対 し て ) 通 常 フ ァ イ ル を 補 完 す る こ と は 、 的 外 れ で す 。

>

complete cd ’p/1/d/’

’cd’ に 続 く 最 初 の 単 語 の み (’p/1’) を デ ィ レ ク ト リ で 補 完 し ま す 。 コ マ ン ド 補 完 を 絞 り こ む た め に p-形 式 の 補 完 を 用 い る こ と も で き ま す 。 ’cd’ に 続 く 最 初 の 単 語 の み (’p/1’) を デ ィ レ ク ト リ で 補 完 し ま す 。

>

co[^D]

complete compress > complete −co* ’p/0/(compress)/’ > co[^D] > compress こ れ は ’co’ で 始 ま る (す な わ ち ’co*’ に マ ッ チ す る ) コ マ ン ド (位 置 0 に あ る 単 語 ’p/0’) を 補 完 し て 、 ’compress’ (リ ス ト に あ る 唯 一 の 単 語 ) を 与 え た も の で す 。 先 頭 に あ る ’−’ は 、 こ の 補 完 が コ マ ン ド を 確 定 で き な い 場 合 に の み 用 い ら れ る こ と を 意 味 し ま す 。

>

complete find ’n/−user/u/’

こ れ は n-形 式 の 補 完 の 例 で す 。 ’find’ の 後 で 、 か つ ’−user’ の 直 後 に あ る 単 語 を 、 ユ ー ザ ー の リ ス ト で 補 完 し ま す 。

>

complete cc ’c/−I/d/’

c-形 式 の 補 完 の 例 で す 。 ’cc’ の 後 に あ り 、 か つ ’−I’ で は じ ま る 単 語 を デ ィ レ ク ト リ で 補 完 し ま す 。 こ こ で は 小 文 字 の c を 用 い て い る の で 、 ’−I’ は デ ィ レ ク ト リ の 一 部 と は み な さ れ ま せ ん 。 コ マ ン ド に 応 じ て 、 便 利 な list も 異 な り ま す 。

>

complete alias ’p/1/a/’

> complete man ’p/*/c/’ > complete set ’p/1/s/’ > complete true ’p/1/x:Truth has no options./’ こ れ ら で は 、 ’alias’ に 続 く 単 語 を エ イ リ ア ス で 、 ’man’ に 続 く 単 語 を コ マ ン ド で 、 ’set’ に 続 く 単 語 を シ ェ ル 変 数 で 置 き 換 え て い ま す 。 ’true’ は オ プ シ ョ ン を 取 ら な い の で 、 補 完 が 試 み ら れ た と き に 何 も 行 わ ず 、 補 完 リ ス ト の 選 択 画 面 に は ’Truth has no options.’ を 表 示 す る x を 指 定 し て い ま す 。

man の 例 や 、 以 下 に 示 す い く つ か の 例 で は 、 ’p/*’ の 代 わ り に ’c/*’ や ’n/*’ を 用 い る こ と も で き ま す 。 単 語 の 補 完 を 変 数 で 行 う こ と も で き ま す 。 こ れ ら の 変 数 は 補 完 の 際 に 評 価 さ れ ま す 。

>

complete ftp ’p/1/$hostnames/’

> set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu) > ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu > ftp [^C] > set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net) > ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net ま た 補 完 の 際 に コ マ ン ド を 実 行 し 、 そ こ か ら 補 完 を 行 う こ と も で き ま す 。

>

complete kill ’p/*/’ps | awk \{print\ \$1\}’/’

> kill −9 [^D]
23113 23377 23380 23406 23429 23529 23530 PID

complete コ マ ン ド 自 身 は 、 そ の 引 数 を ク ォ ー ト し ま せ ん 。 し た が っ て ’{print $1}’ に あ る 括 弧 、 ス ペ ー ス 、 ’$’ は 明 示 的 に ク ォ ー ト し な け れ ば な り ま せ ん 。

1 つ の コ マ ン ド に 複 数 の 補 完 を 指 定 す る こ と も で き ま す 。

>

complete dbx ’p/2/(core)/’ ’p/*/c/’

こ れ は ’dbx’ の 第 2 引 数 を ’core’ と い う 単 語 で 補 完 し 、 他 の す べ て の 引 数 を コ マ ン ド で 補 完 し ま す 。 位 置 指 定 タ イ プ の 補 完 は 、 逐 次 補 完 よ り 前 に 指 定 す る こ と に 注 意 し て く だ さ い 。 補 完 は 左 か ら 右 に 評 価 さ れ る の で 、 (常 に マ ッ チ す る ) 逐 次 補 完 が 先 に 指 定 さ れ て い る と 、 位 置 指 定 補 完 は 決 し て 行 わ れ な く な っ て し ま い ま す 。 こ れ は 補 完 定 義 の 際 に よ く や る ミ ス な の で 注 意 し て く だ さ い 。

select パ タ ー ン は 、 コ マ ン ド が 特 定 の 形 式 を 持 っ た フ ァ イ ル だ け を 引 数 に と る よ う な 場 合 に 便 利 で す 。 以 下 に 例 を 示 し ま す 。

>

complete cc ’p/*/f:*.[cao]/’

こ れ は ’cc’ の 引 数 を 、 ’.c’, ’.a’, ’.o’ で 終 わ る フ ァ イ ル だ け か ら 補 完 し ま す 。 以 下 の フ ァ イ ル 名 置 換 で 述 べ る よ う な や り 方 で グ ロ ブ パ タ ー ン の 否 定 を 指 定 す れ ば 、 select で 特 定 の フ ァ イ ル を 排 除 す る こ と も で き ま す 。

>

complete rm ’p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/’

こ れ は 大 事 な ソ ー ス コ ー ド を ’rm’ の 補 完 に 現 れ な い よ う に し ま す 。 も ち ろ ん こ の 排 除 さ れ た 名 前 を 手 で 打 っ た り 、 complete-word-rawlist-choices-raw な ど の 編 集 コ マ ン ド を 用 い て 補 完 の 仕 組 み を 変 更 す る こ と も で き ま す (そ れ ぞ れ 該 当 の 部 分 を 参 照 )。

’C’, ’D’, ’F’, ’T’ 各 リ ス ト は 、 そ れ ぞ れ ’c’, ’d’, ’f’, ’t’ と 似 て い ま す が 、 select の 引 数 の 解 釈 の 仕 方 が 異 な り 、 補 完 対 象 の フ ァ イ ル を 前 置 パ ス 名 が 特 定 の も の に 限 り ま す 。 た と え ば 、 メ ー ル プ ロ グ ラ ム Elm は ’=’ を ユ ー ザ の メ ー ル デ ィ レ ク ト リ の 省 略 名 と し て 用 い ま す 。 こ の 場 合 ’elm −f =’ を ’elm −f ~/Mail/’ で あ る か の よ う に 補 完 す る に は

>

complete elm c@=@F:$HOME/Mail/@

と す べ き で す 。 こ こ で は ’/’ の 代 わ り に ’@’ を 用 い 、 select 引 数 を 見 や す く し て い ま す 。 ま た ホ ー ム デ ィ レ ク ト リ の 置 換 は 単 語 の 先 頭 で の み 動 作 す る の で 、 ’~’ の 代 わ り に ’$HOME’ を 用 い て い ま す 。

suffix は 標 準 で は 用 意 さ れ て い な い サ フ ィ ッ ク ス (ス ペ ー ス や デ ィ レ ク ト リ に 対 す る ’/’ 以 外 ) を 単 語 補 完 用 に 追 加 す る た め に 用 い ま す 。

>

complete finger ’c/*@/$hostnames/’ ’p/1/u/@’

こ れ は ’finger’ の 引 数 を 、 ま ず ユ ー ザ の リ ス ト か ら 補 完 し 、 そ れ に ’@’ を 追 加 し 、 さ ら に ’@’ の 後 を 変 数 ’hostnames’ の リ ス ト か ら 補 完 し ま す 。 こ こ で も 補 完 指 定 の 順 序 に 注 意 し て く だ さ い 。 最 後 に 、 示 唆 に 富 む 複 雑 な 例 を 示 し ま し ょ う 。

>

complete find \

´n/−name/f/’ ’n/−newer/f/’ ’n/−{,n}cpio/f/’ \
´n/−exec/c/’ ’n/−ok/c/’ ’n/−user/u/’ \
´n/−group/g/’ ’n/−fstype/(nfs 4.2)/’ \
´n/−type/(b c d f l p s)/’ \
´c/−/(name newer cpio ncpio exec ok user \
group fstype type atime ctime depth inum \
ls mtime nogroup nouser perm print prune \
size xdev)/’ \
´p/*/d/’ こ れ は ’−name’, ’−newer’, ’−cpio’, ’ncpio’ に 続 く 単 語 を フ ァ イ ル で 補 完 し (最 後 の 両 者 に マ ッ チ す る パ タ ー ン に 注 意 )、 ’−exec’, ’−ok’ に 続 く 単 語 を コ マ ン ド で 補 完 し 、 ’user’ の 後 を ユ ー ザ 名 で 、 ’group’ の 後 を グ ル ー プ 名 で 補 完 し 、 ’−fstype’ と ’−type’ の 後 を そ れ ぞ れ に 与 え た リ ス ト の メ ン バ ー で 補 完 し ま す 。 ま た find に 与 え る ス イ ッ チ 達 も 与 え た リ ス ト か ら 補 完 し (c-型 の 補 完 を 用 い て い る こ と に 注 意 )、 そ れ 以 外 の も の す べ て を デ ィ レ ク ト リ で 補 完 し ま す 。 ふ ぅ 。 補 完 指 定 は 、 対 象 と な る 単 語 が チ ル ダ 置 換 (’~’ で は じ ま る ) や 変 数 (’$’ で は じ ま る ) の 場 合 は 無 視 さ れ る こ と に 留 意 し て く だ さ い 。 complete は 実 験 的 な 機 能 で あ り 、 文 法 は こ の シ ェ ル の 将 来 の バ ー ジ ョ ン で は 変 更 さ れ る か も し れ ま せ ん 。 組 み 込 み コ マ ン ド uncomplete の 説 明 も 見 て く だ さ い 。

continue も っ と も 近 い while ま た は foreach ル ー プ の 実 行 を 継 続 し ま す 。 現 在 の 行 に あ る 残 り の コ マ ン ド は 実 行 さ れ ま す 。
default:

switch 文 の デ フ ォ ル ト の 場 合 の ラ ベ ル で す 。 こ れ は す べ て の case ラ ベ ル の 後 に 置 く べ き で す 。

dirs [−l] [−n|−v]
dirs −S
|−L [filename] (+)
dirs −c
(+) 最 初 の 形 式 は デ ィ レ ク ト リ ス タ ッ ク を 表 示 し ま す 。 ス タ ッ ク の 上 が 左 に 来 て 、 ス タ ッ ク 先 頭 の デ ィ レ ク ト リ は 現 在 の デ ィ レ ク ト リ に な り ま す 。 −l を 指 定 す る と 、 出 力 の ’~’ や ’~name’ は 、 home や 、 ユ ー ザ name の ホ ー ム デ ィ レ ク ト リ の パ ス 名 に 明 示 的 に 展 開 さ れ ま す 。 (+) −n を 指 定 す る と 、 エ ン ト リ は ス ク リ ー ン の 終 端 に 達 す る 前 に 桁 折 り さ れ ま す 。 (+) −v を 指 定 す る と 、 各 エ ン ト リ が 1 行 に 1 つ ず つ 表 示 さ れ 、 ス タ ッ ク 内 部 で の 位 置 が エ ン ト リ の 前 に 表 示 さ れ ま す 。 (+) −n−v が ひ と つ 以 上 指 定 さ れ る と −v が 優 先 さ れ ま す 。

−S を 指 定 し た 2 番 目 の 形 式 で は 、 デ ィ レ ク ト リ ス タ ッ ク を cdpushd か ら な る コ マ ン ド 列 と し て filename に 保 存 し ま す 。 −L を 指 定 す る と 、 こ の シ ェ ル は filename を source し ま す 。 こ の フ ァ イ ル は 、 以 前 に −S オ プ シ ョ ン や savedirs 機 構 で 保 存 さ れ た デ ィ レ ク ト リ ス タ ッ ク で す 。 い ず れ の 場 合 で も 、 filename が 与 え ら れ な け れ ば dirsfile を 用 い ま す 。 dirsfile も 指 定 さ れ て い な け れ ば ~/.cshdirs を 用 い ま す 。 ロ グ イ ン シ ェ ル は ’dirs −L’ と 同 様 の こ と を 起 動 時 に 行 っ て お り 、 ま た savedirs が 設 定 さ れ て い れ ば 終 了 前 に ’dirs −S’ と 同 様 の こ と を 行 い ま す 。 通 常 ~/.tcshrc だ け が ~/.cshdirs の 前 に source さ れ る の で 、 dirsfile~/.login で は な く ~/.tcshrc で 設 定 す べ き で す 。 最 後 の 形 式 は デ ィ レ ク ト リ ス タ ッ ク を ク リ ア し ま す 。

echo [−n] word ... 各 word を ス ペ ー ス で 区 切 り 、 改 行 で 終 端 さ せ て シ ェ ル の 標 準 出 力 に 書 き 出 し ま す 。 シ ェ ル 変 数 echo_style を 指 定 す る と 、 BSD や System V の echo の フ ラ グ や エ ス ケ ー プ シ ー ケ ン ス を エ ミ ュ レ ー ト す る (し な い ) よ う に で き ま す 。 詳 細 は echo(1) を 見 て く だ さ い 。
echotc
[−sv] arg ... (+)

arg で 与 え ら れ た 端 末 の 機 能 (termcap(5) を 参 照 ) を 実 行 し ま す 。 た と え ば ’echotc home’ は カ ー ソ ル を ホ ー ム ポ ジ シ ョ ン に 移 動 し 、 ’echotc cm 3 10’ は カ ー ソ ル を 3 列 10 行 に 移 動 し 、 ’echotc ts 0; echo "This is a test."; echotc fs’ は "This is a test." を ス テ ー タ ス 行 に 表 示 し ま す 。

arg が ’baud’, ’cols’, ’lines’, ’meta’, ’tabs’ の い ず れ か で あ っ た 場 合 は 、 そ の 機 能 の 値 を 表 示 し ま す ("yes" ま た は "no" は 、 端 末 が そ の 機 能 を 持 っ て い る か い な い か を 示 し ま す )。 遅 い 端 末 で シ ェ ル ス ク リ プ ト の 出 力 を よ り 寡 黙 に し た り 、 コ マ ン ド の 出 力 を ス ク リ ー ン の 行 数 に 制 限 し た り す る よ う な 場 合 に は 、 以 下 の コ マ ン ド を 使 う と 良 い で し ょ う 。

>

set history=’echotc lines’

> @ history−−

termcap 文 字 列 は ワ イ ル ド カ ー ド を 含 む こ と が で き ま す が 、 こ れ は 正 し く echo さ れ ま せ ん 。 シ ェ ル 変 数 に 端 末 機 能 文 字 列 を 設 定 す る と き に は 、 以 下 の 例 の よ う に ダ ブ ル ク ォ ー ト を 用 い て く だ さ い 。 こ の 例 で は 日 付 を ス テ ー タ ス 行 に 表 示 し て い ま す 。

>

set tosl="’echotc ts 0’"

> set frsl="’echotc fs’" > echo −n "$tosl";date; echo −n "$frsl"

−s を 指 定 す る と 、 存 在 し な い 機 能 を 指 定 し た と き 、 エ ラ ー を お こ さ ず に 空 文 字 列 を 返 し ま す 。 −v を 指 定 す る と メ ッ セ ー ジ が 冗 長 に な り ま す 。

else
end
endif

endsw 以 下 の

foreach, if, switch, while 文 の 説 明 を 見 て く だ さ い 。

eval arg ... 引 数 を シ ェ ル へ の 入 力 と し て 扱 い 、 残 り の コ マ ン ド を 現 在 の シ ェ ル の コ ン テ キ ス ト で 実 行 し ま す 。 こ れ は 通 常 、 コ マ ン ド 置 換 や 変 数 置 換 の 結 果 と し て 生 成 さ れ た コ マ ン ド 列 を 実 行 す る 場 合 に 用 い ら れ ま す 。 こ れ は そ れ ら の 置 換 に 先 立 っ て 文 法 解 析 が 行 わ れ て し ま う た め で す 。 eval の 利 用 例 は tset(1) を 見 て く だ さ い 。
exec
command 指 定 し た コ マ ン ド を 現 在 の シ ェ ル の 代 わ り に 実 行 し ま す 。
exit
[expr] 指 定 し た expr ( で 解 説 し た 式 ) の 値 で (expr が 指 定 さ れ て い な け れ ば status 変 数 の 値 で ) シ ェ ル を 終 了 し ま す 。
fg
[%job ...] 指 定 し た ジ ョ ブ (あ る い は 引 数 が な け れ ば 現 在 の ジ ョ ブ ) を フ ォ ア グ ラ ウ ン ド に 移 動 し ま す 。 停 止 状 態 に あ る も の は 再 開 し ま す 。 job に は ジ ョ ブ で 解 説 さ れ て い る よ う に 、 数 値 、 文 字 列 、 ’’, ’%’, ’+’, ’−’ の ど れ か を 指 定 で き ま す 。 run-fg-editor 編 集 コ マ ン ド も 見 て く だ さ い 。
filetest −
op file ... (+)

(フ ァ イ ル 問 合 わ せ 演 算 子 で 解 説 さ れ て い る ) フ ァ イ ル 問 合 わ せ 演 算 子 op を 各 file に 適 用 し 、 結 果 を ス ペ ー ス 区 切 り の リ ス ト で 返 し ま す 。

foreach name (wordlist)
...

end

wordlist の メ ン バ ー を name に 順 々 に 代 入 し 、 こ れ と 対 応 す る end に 挟 ま れ た 範 囲 の コ マ ン ド シ ー ケ ン ス を 実 行 し ま す 。 (foreachend は 1 行 に 単 独 で 現 れ な け れ ば な り ま せ ん 。 ) 組 み 込 み コ マ ン ド continue を 用 い る と ル ー プ を 途 中 で 継 続 す る こ と が で き 、 組 み 込 み コ マ ン ド break を 用 い る と ル ー プ を 途 中 で 終 了 さ せ る こ と が で き ま す 。 こ の コ マ ン ド が 端 末 か ら 読 み 込 ま れ る と 、 一 度 ル ー プ を ’foreach?’ プ ロ ン プ ト (あ る い は prompt2) で 読 み 込 み 、 全 体 を 読 み 終 え て か ら ル ー プ の 各 文 を 実 行 し ま す 。 端 末 か ら の 入 力 時 に ル ー プ の 途 中 で タ イ プ ミ ス を し た 場 合 は 修 正 で き ま す 。

getspath (+) シ ス テ ム の 実 行 パ ス を 表 示 し ま す 。 (TCF の み )
getxvers
(+) 実 験 的 バ ー ジ ョ ン の プ レ フ ィ ッ ク ス を 表 示 し ま す 。 (TCF の み )
glob
wordlist

echo と 似 て い ま す が 、 ’\’ で の エ ス ケ ー プ を 認 識 せ ず 、 ま た 出 力 で の 単 語 区 切 り を ヌ ル 文 字 に し ま す 。 単 語 リ ス ト を フ ァ イ ル 名 に 展 開 す る た め に プ ロ グ ラ ム か ら シ ェ ル を 利 用 し た い よ う な 場 合 に 便 利 で す 。

goto word

word は フ ァ イ ル 名 と ’label’ 形 式 の 文 字 列 を 出 力 す る コ マ ン ド 置 換 で す 。 シ ェ ル は 入 力 を 可 能 な か ぎ り さ か の ぼ り 、 ’label:’ 形 式 の 行 (空 白 や タ ブ が 前 置 さ れ て い て も 良 い ) を 検 索 し 、 そ の 行 の 次 か ら 実 行 を 継 続 し ま す 。

hashstat 内 部 の ハ ッ シ ュ テ ー ブ ル が 、 こ れ ま で の コ マ ン ド 探 索 に ど の 程 度 効 率 的 で あ っ た か (そ し て exec 類 を 使 わ ず に 済 ん だ か ) を 示 す 統 計 行 を 表 示 し ま す 。 path の 各 成 分 の う ち 、 ハ ッ シ ュ 関 数 が ヒ ッ ト の 可 能 性 が あ る と し た も の や 、 ’/’ で 始 ま ら な い も の に 対 し て exec が 試 み ら れ ま す 。

vfork(2) の な い マ シ ン で は 、 単 に ハ ッ シ ュ バ ケ ツ の サ イ ズ を 表 示 し ま す 。

history [−hTr] [n]
history −S
|−L|−M [filename] (+)
history −c
(+) 最 初 の 形 式 は イ ベ ン ト リ ス ト の 履 歴 を 表 示 し ま す 。 n を 与 え る と 、 新 し い 方 最 大 n 個 の イ ベ ン ト を 表 示 ま た は 保 存 し ま す 。 −h を 指 定 す る と 、 行 頭 の 数 字 抜 き で リ ス ト を 表 示 し ま す 。 −T を 指 定 す る と 、 タ イ ム ス タ ン プ も コ メ ン ト の か た ち で 表 示 さ れ ま す 。 (こ れ を 用 い る と 、 ’history −L’ や ’source −h’ で の ロ ー ド に 適 し た フ ァ イ ル が 作 成 で き ま す 。 ) −r を 指 定 す る と 、 表 示 の 順 番 が デ フ ォ ル ト の 古 い 順 で は な く 新 し い 順 に な り ま す 。

2 番 目 の 形 式 で −S を 指 定 す る と 、 履 歴 リ ス ト を filename に 保 存 し ま す 。 シ ェ ル 変 数 savehist の 最 初 の 単 語 が 数 値 に 設 定 さ れ て い る と 、 最 大 で そ の 数 値 ま で の 行 数 が 保 存 さ れ ま す 。 savehist の 2 番 目 の 単 語 が ’merge’ だ っ た 場 合 に は 、 履 歴 リ ス ト が 現 存 の 履 歴 フ ァ イ ル に マ ー ジ さ れ 、 タ イ ム ス タ ン プ 順 に ソ ー ト さ れ ま す (デ フ ォ ル ト で は 現 存 の フ ァ イ ル を 置 き 換 え ま す )。 (+) マ ー ジ は X Window System の よ う に 、 複 数 の シ ェ ル を 同 時 に 用 い る よ う な 場 合 向 け の も の で す 。 現 在 は 、 シ ェ ル が 行 儀 良 く 順 々 に 終 了 す る よ う な 場 合 で な い と 、 マ ー ジ は 成 功 し ま せ ん 。

−L を 指 定 す る と 、 シ ェ ル は filename を 履 歴 リ ス ト に 追 加 し ま す 。 filename は 以 前 に −S オ プ シ ョ ン や savehist 機 構 で 保 存 さ れ た 履 歴 リ ス ト フ ァ イ ル で す 。 −M−L と 似 て い ま す が 、 filename の 内 容 は 履 歴 リ ス ト に マ ー ジ さ れ 、 タ イ ム ス タ ン プ の 順 に ソ ー ト さ れ ま す 。 い ず れ の 場 合 で も 、 filename が 与 え ら れ な け れ ば histfile を 用 い 、 histfile も 設 定 さ れ て い な け れ ば ~/.history を 用 い ま す 。 ’history −L’ は ほ と ん ど ’source −h’ と 同 じ で す が 、 前 者 で は フ ァ イ ル 名 を 省 略 で き ま す 。 ロ グ イ ン シ ェ ル は ’history −L’ と 同 様 の こ と を 起 動 時 に 行 っ て お り 、 ま た savehist が 設 定 さ れ て い れ ば 終 了 前 に ’history −S’ と 同 様 の こ と を 行 い ま す 。 通 常 ~/.tcshrc だ け が ~/.history の 前 に source さ れ る の で 、 histfile~/.login で は な く ~/.tcshrc で 設 定 す べ き で す 。

histlit が 設 定 さ れ て い る と 、 最 初 の 形 式 と 2 番 目 の 形 式 は 履 歴 リ ス ト を 文 字 通 り の (展 開 さ れ な い ) か た ち で 表 示 、 保 存 し ま す 。 最 後 の 形 式 は 履 歴 リ ス ト を ク リ ア し ま す 。

hup [command] (+)

command を 指 定 す る と 、 hangup シ グ ナ ル が 送 ら れ た と き に 終 了 す る よ う に し て command を 実 行 し 、 シ ェ ル が 終 了 す る と き に そ の コ マ ン ド に hangup シ グ ナ ル を 送 る よ う に し ま す 。 コ マ ン ド に よ っ て は hangup に 対 す る そ れ ぞ れ 独 自 の 反 応 を 設 定 す る こ と が あ り 、 こ れ は hup よ り 優 先 さ れ る か も し れ ま せ ん 。 引 数 を 設 定 し な い と (シ ェ ル ス ク リ プ ト 内 部 の み で 許 さ れ ま す )、 そ の シ ェ ル は 残 り の ス ク リ プ ト の 途 中 で hangup シ グ ナ ル を 受 け 取 る と 終 了 す る よ う に な り ま す 。 シ グ ナ ル 処 理 と 組 み 込 み コ マ ン ド nohup の 部 分 も 見 て く だ さ い 。

if (expr) command

expr ( で 解 説 し た 式 ) の 評 価 結 果 が 真 な ら 、 command が 実 行 さ れ ま す 。 command に 対 す る 変 数 置 換 は 、 実 行 に 先 だ っ て if コ マ ン ド の 残 り の 部 分 と 同 時 に 行 わ れ ま す 。 command は 単 純 な コ マ ン ド で な け れ ば な ら ず 、 エ イ リ ア ス 、 パ イ プ ラ イ ン 、 (括 弧 で 括 ら れ た / て い な い ) コ マ ン ド リ ス ト は 指 定 で き ま せ ん 。 た だ し 引 数 は 指 定 で き ま す 。 expr が 偽 で 、 command実 行 さ れ な い 場 合 で も 入 出 力 リ ダ イ レ ク シ ョ ン は 行 わ れ て し ま い ま す 。 こ れ は バ グ で す 。

if (expr) then
...
else if (
expr2) then
...
else

...

endif 指 定 し た

expr が 真 の 場 合 、 最 初 の else ま で の コ マ ン ド 群 が 実 行 さ

れ ま す 。 expr が 偽 で expr2 が 真 の 場 合 は 、 2 番 目 の else ま で の コ マ ン ド 群 が 実 行 さ れ ま す 。 以 下 同 じ で す 。 else-if の ペ ア は い く つ で も 指 定 で き ま す が 、 endif は ひ と つ し か い り ま せ ん 。 ま た else 部 は 省 略 可 能 で す 。 (elseendif の 各 単 語 は 入 力 行 の 先 頭 に し か 置 け ま せ ん 。 if は 入 力 行 の 先 頭 に 単 独 で 置 く か 、 else の 後 に 置 く か し な け れ ば な り ま せ ん 。 )

inlib shared-library ... (+) 各 shared-library を 現 在 の 環 境 に 追 加 し ま す 。 共 有 ラ イ ブ ラ リ を 削 除 す る 方 法 は あ り ま せ ん 。 (Domain/OS の み )
jobs
[−l] ア ク テ ィ ブ な ジ ョ ブ を リ ス ト し ま す 。 −l を 指 定 す る と 、 通 常 の 情 報 に 加 え て プ ロ セ ス ID も リ ス ト し ま す 。 TCF シ ス テ ム で は 、 各 ジ ョ ブ が 実 行 さ れ て い る サ イ ト も 表 示 し ま す 。
kill
[−s signal] %job|pid ...

kill −l

1 番 目 ま た は 2 番 目 の 形 式 は signal を (何 も 指 定 さ れ な け れ ば TERM (terminate) シ グ ナ ル を ) 指 定 し た ジ ョ ブ や プ ロ セ ス に 送 り ま す 。 job に は ジ ョ ブ で 解 説 さ れ て い る よ う に 、 数 値 、 文 字 列 、 ’’, ’%’, ’+’, ’−’ の ど れ か を 指 定 で き ま す 。 シ グ ナ ル は 数 値 ま た は 名 前 (/usr/include/signal.h に あ る も の か ら 前 の ’SIG’ を 取 り 除 い た も の ) の い ず れ か で 与 え ま す 。 デ フ ォ ル ト の job は あ り ま せ ん 。 単 に ’kill’ と し て も 、 現 在 の ジ ョ ブ へ は シ グ ナ ル を 送 り ま せ ん 。 TERM (terminate) ま た は HUP (hangup) シ グ ナ ル を 送 っ た 場 合 は 、 そ の ジ ョ ブ や プ ロ セ ス に は CONT (continue) シ グ ナ ル も 送 信 さ れ ま す 。 3 番 目 の 形 式 は シ グ ナ ル の 名 前 を リ ス ト し ま す 。

limit [−h] [resource [maximum-use]] 現 在 の プ ロ セ ス と 、 現 在 の プ ロ セ ス が 生 成 す る プ ロ セ ス が 消 費 す る 資 源 が 、 指 定 し た resource に 対 し て プ ロ セ ス ひ と つ に つ き maximum-use を 越 え な い よ う に し ま す 。 maximum-use を 指 定 し な い と 、 current limit が 表 示 さ れ ま す 。 resource を 指 定 し な い と 、 す べ て の 制 限 値 を 表 示 し ま す 。 −h フ ラ グ を 指 定 す る と 、 current limit の 代 わ り に hard limit を 用 い ま す 。 hard limit は current limit の 限 度 を 与 え ま す 。 hard limit は ス ー パ ー ユ ー ザ ー し か 増 や す こ と が で き ま せ ん が 、 current limit は 一 般 ユ ー ザ も 可 能 な 範 囲 内 で 増 減 で き ま す 。 現 在 制 御 で き る 資 源 は 、 cputime (プ ロ セ ス ひ と つ に つ き 利 用 で き る cpu 秒 )、 filesize (作 成 で き る 単 一 フ ァ イ ル の 最 大 サ イ ズ )、 datasize (プ ロ グ ラ ム テ キ ス ト の 終 端 を 越 え て sbrk(2) で 増 や せ る デ ー タ 領 域 +ス タ ッ ク 領 域 の 最 大 サ イ ズ )、 stacksize (自 動 的 に 拡 張 さ れ る ス タ ッ ク 領 域 の 最 大 サ イ ズ )、 coredumpsize (生 成 さ れ る コ ア ダ ン プ の 最 大 サ イ ズ )、 memoryuse (プ ロ セ ス ひ と つ に い ち ど き に 割 り 当 て る こ と の で き る 物 理 メ モ リ の 最 大 サ イ ズ )、 で す 。

maximum-use は 浮 動 小 数 点 値 ま た は 整 数 値 に 、 単 位 を つ け て 指 定 し ま す 。 cputime 以 外 の 制 限 値 は 、 ’k’ ま た は ’kilobytes’ (1024 バ イ ト ) を デ フ ォ ル ト の 単 位 と し て い ま す 。 単 位 と し て ’m’ ま た は ’megabytes’ を 用 い る こ と も で き ま す 。 cputime の デ フ ォ ル ト の 単 位 は ’seconds’ で す 。 分 を 表 す ’m’, 時 間 を 表 す ’h’, 分 + 秒 を 表 す ’mm:ss’ の 形 式 な ど を 用 い る こ と も で き ま す 。

resource も 単 位 も 、 他 と 区 別 が つ く 範 囲 で 後 半 部 を 省 略 可 能 で す 。

log (+) シ ェ ル 変 数

watch を 表 示 し 、 そ こ に リ ス ト ア ッ プ さ れ て い る ユ ー ザ

が ロ グ イ ン し て い れ ば ロ グ イ ン し た 時 刻 に 関 わ ら ず 報 告 し ま す 。 watchlog に つ い て も 参 照 し て く だ さ い 。

login ロ グ イ ン シ ェ ル を 終 了 し て 、

/bin/login (訳 注 : FreeBSD で は

/usr/bin/login で す ) の イ ン ス タ ン ス で 置 き 換 え ま す 。 こ れ は ロ グ オ フ す る 方 法 の ひ と つ で あ り 、 sh(1) と の 互 換 性 を 保 つ 意 味 も あ り ま す 。

logout ロ グ イ ン シ ェ ル を 終 了 し ま す 。

ignoreeof が セ ッ ト さ れ て い る 場 合 に

特 に 役 立 つ で し ょ う 。

ls−F [−switch ...] [file ...] (+)

’ls −F’ と 同 じ よ う に フ ァ イ ル の リ ス ト を 表 示 し ま す が 、 ず っ と 高 速 で す 。 各 種 の 特 別 な フ ァ イ ル 形 式 は 特 殊 文 字 を 用 い て 以 下 の よ う に 示 さ れ ま す 。

/ デ ィ レ ク ト リ

* 実 行 可 能

# ブ ロ ッ ク 型 デ バ イ ス

% キ ャ ラ ク タ 型 デ バ イ ス

| 名 前 付 き パ イ プ

(名 前 付 き パ イ プ の あ る シ ス テ ム で の み )

= ソ ケ ッ ト

(ソ ケ ッ ト の あ る シ ス テ ム で の み )

@ シ ン ボ リ ッ

ク リ ン ク (シ ン ボ リ ッ ク リ ン ク の あ る シ ス テ ム で の み )
+ 隠 し デ ィ レ ク ト リ (AIX の み ) ま た は コ ン テ キ ス ト 依 存 (HP/UX

の み )

: ネ ッ ト ワ ー ク 特 殊 型

(HP/UX の み )

シ ェ ル 変 数 listlinks が セ ッ ト さ れ て い る 場 合 は 、 シ ン ボ リ ッ ク リ ン ク に 関 し て よ り 詳 し く 表 示 さ れ ま す (も ち ろ ん 、 シ ン ボ リ ッ ク リ ン ク を 持 つ シ ス テ ム で だ け で す )。

@ デ ィ レ ク ト リ で な い も の へ の シ ン ボ リ ッ ク リ ン ク

> デ ィ レ ク ト リ へ の シ ン ボ リ ッ ク リ ン ク

& ど こ へ の リ ン ク で も な い シ ン ボ リ ッ ク リ ン ク

listlinks は シ ン ボ リ ッ ク リ ン ク の 指 し 示 す フ ァ イ ル が 存 在 す る パ ー テ ィ シ ョ ン の マ ウ ン ト を 引 き 起 こ す た め 、 ls−F を 遅 く し て し ま い ま す 。 も し シ ェ ル 変 数 listfrags が ’x’, ’a’, ’A’ の い ず れ か に セ ッ ト さ れ て い る か 、 そ れ ら の 組 合 せ (た と え ば ’xA’) に セ ッ ト さ れ て い る 場 合 は 、 こ れ が ’ls −xF’ や ’ls −Fa’、 も し く は 組 み 合 わ せ て ’ls −FxA’ の よ う に ls−F の フ ラ グ と し て 使 わ れ ま す 。 ’ls −C’ が デ フ ォ ル ト で な い マ シ ン で は listflags が ’x’ を 含 む 場 合 に は ls −xF’ の よ う に 、 そ う で な け れ ば ls −F は ’ls −CF’ の よ う に 振 舞 い ま す 。 ls −F は 、 何 ら か の ス イ ッ チ が 与 え ら れ た 場 合 に は ls(1) に 引 数 を 渡 す の で 、 ’alias ls ls−F’ は 通 常 、 正 し く 動 作 し ま す 。 組 み 込 み の ls−F は フ ァ イ ル タ イ プ や 拡 張 子 に よ っ て フ ァ イ ル 名 を 色 分 け す る こ と が で き ま す 。 シ ェ ル 変 数 color tcsh と 環 境 変 数 LS_COLORS を 参 照 し て く だ さ い 。

migrate [site] pid|%jobid ... (+)
migrate −
site (+) 最 初 の 形 式 で は 指 定 し た プ ロ セ ス ま た は ジ ョ ブ を 、 指 定 し た 場 所 も し く は シ ス テ ム パ ス に よ っ て 決 定 さ れ る デ フ ォ ル ト の 場 所 に 移 動 し ま す 。

2 番 目 の 形 式 は ’migrate −site $$’ と 同 じ 意 味 を 持 ち ま す 。 こ れ は 現 在 の プ ロ セ ス を 指 定 し た 場 所 に 移 動 し ま す 。 シ ェ ル は そ の tty を 失 わ な い こ と に な っ て い る の で 、 シ ェ ル 自 身 を 移 動 す る こ と は 予 期 し な い 動 作 の 原 因 と な り ま す 。 (TCF の み )

newgrp [] group (+)

’exec newgrp’ と 同 じ 意 味 を も ち ま す 。 newgrp(1) を 参 照 し て く だ さ い 。 シ ェ ル が こ れ を 使 う こ と が で き る よ う に コ ン パ イ ル さ れ て い る 場 合 に の み 使 用 可 能 で す 。 シ ェ ル 変 数 version を 参 照 し て く だ さ い 。

nice [+number] [command] シ ェ ル の ス ケ ジ ュ ー リ ン グ 優 先 度 を number に 設 定 す る か 、 number が 指 定 さ れ て い な い 場 合 は 4 に 設 定 し ま す 。 command を つ け る と 、 コ マ ン ド command を 適 切 な 優 先 度 で 実 行 し ま す 。 number が 大 き い ほ ど 、 そ の プ ロ セ ス が 獲 得 す る CPU 時 間 は 短 く な り ま す 。 ス ー パ ー ユ ー ザ は ’nice −number ...’ と す る こ と に よ り 負 の 値 を 設 定 す る こ と が で き ま す 。 コ マ ン ド は 常 に サ ブ シ ェ ル か ら 実 行 さ れ 、 コ マ ン ド に は 単 純 な if 文 の 場 合 と 同 じ 制 限 が 課 さ れ ま す 。
nohup
[command]

command を つ け る と 、 コ マ ン ド command を ハ ン グ ア ッ プ シ グ ナ ル を 無 視 し て 実 行 す る よ う に し ま す 。 こ れ ら の コ マ ン ド が nohup を オ ー バ ー ラ イ ド し て ハ ン グ ア ッ プ シ グ ナ ル に 対 し て 自 分 自 身 で 応 答 す る よ う に す る こ と が あ る こ と に 注 意 し て く だ さ い 。 引 数 の な い 場 合 (シ ェ ル ス ク リ プ ト 中 で の み 許 さ れ ま す )、 ス ク リ プ ト の そ れ 以 降 の 部 分 で シ ェ ル は ハ ン グ ア ッ プ シ グ ナ ル を 無 視 す る よ う に な り ま す 。 シ グ ナ ル 処 理 と 、 組 み 込 み コ マ ン ド hup に つ い て も 参 照 し て く だ さ い 。

notify [%job ...] ユ ー ザ に 非 同 期 的 に 指 定 し た ジ ョ ブ (%job が 省 略 さ れ た 場 合 は カ レ ン ト ジ ョ ブ ) の 状 態 に 何 ら か の 変 化 が あ っ た 場 合 に 非 同 期 的 に 、 通 知 す る よ う に し ま す 。 こ の 場 合 は 通 常 と 異 な り 、 次 の プ ロ ン プ ト が 出 力 さ れ る ま で 待 ち ま せ ん 。 jobJobs に 記 述 さ れ て い る よ う に 番 号 、 文 字 列 、 ’’, ’%’, ’+’, ’−’ の ど れ で も 許 さ れ ま す 。 シ ェ ル 変 数 notify も 参 照 し て く だ さ い 。
onintr
[|label] 割 り 込 み 時 の シ ェ ル の 動 作 を 制 御 し ま す 。 引 数 が な け れ ば 、 シ ェ ル の デ フ ォ ル ト の 割 り 込 み 時 の 動 作 に 設 定 さ れ ま す 。 こ の 場 合 は 、 シ ェ ル ス ク リ プ ト は 割 り 込 み で 中 断 さ れ 、 コ マ ン ド 実 行 時 は コ マ ン ド の 実 行 を 中 断 し て コ マ ン ド 入 力 待 ち に 戻 り ま す 。 ’-’ が 指 定 さ れ た 場 合 は す べ て の 割 り 込 み が 無 視 さ れ ま す 。 label を 指 定 す る と 、 割 り 込 み が 発 生 し た り 子 プ ロ セ ス が 割 り 込 み で 中 断 し た り し た 場 合 に ’goto label’ を 実 行 し ま す 。

onintr は 、 シ ス テ ム の ス タ ー ト ア ッ プ フ ァ イ ル (FILES を 参 照 ) で 割 り 込 み が 禁 止 さ れ て い る 場 合 に は 無 視 さ れ ま す 。

popd [−p] [−l] [−n|−v] [+n] 引 数 が な け れ ば 、 デ ィ レ ク ト リ ス タ ッ ク か ら ひ と つ 値 を 取 り 出 し て 、 そ こ に 移 動 し ま す 。 ’+n’ の よ う に 数 値 を 与 え る と 、 デ ィ レ ク ト リ ス タ ッ ク の n’ 番 目 の エ ン ト リ を 破 棄 し ま す 。

ま た 、 す べ て の 形 式 の

popddirs の よ う に デ ィ レ ク ト リ ス タ ッ ク

の 最 後 の エ ン ト リ を 表 示 し ま す 。 シ ェ ル 変 数 pushdsilent は こ れ を 抑 制 し 、 -p フ ラ グ に よ っ て pushdsilent の 動 作 を オ ー バ ー ラ イ ド す る こ と が で き ま す 。 −l, −n, −v フ ラ グ は popd で も 、 dirs と 同 じ 意 味 を も ち ま す 。

printenv [name] (+) す べ て の 環 境 変 数 の 名 前 と 値 を 表 示 す る か 、 name を 与 え た 場 合 に は 環 境 変 数 name の 値 を 表 示 し ま す 。
pushd
[−p] [−l] [−n|−v] [name|+n] 引 数 が な け れ ば 、 デ ィ レ ク ト リ ス タ ッ ク の 一 番 上 に あ る ふ た つ の エ ン ト リ を 入 れ 換 え ま す 。 も し pushdtohome が セ ッ ト さ れ て い れ ば 、 引 数 な し の pushdcd の よ う に ’pushd ~’ を 行 い ま す 。 (+) name を つ け る と 、 現 在 の 作 業 デ ィ レ ク ト リ を デ ィ レ ク ト リ ス タ ッ ク に 積 ん で name に 移 動 し ま す 。 も し name が ’−’ で あ れ ば 、 ひ と つ 前 の 作 業 デ ィ レ ク ト リ と し て 解 釈 さ れ ま す (フ ァ イ ル 名 置 換 を 参 照 )。 (+) dunique が セ ッ ト さ れ て い れ ば 、 pushd は 、 ス タ ッ ク に name を 積 む 前 に す べ て の そ れ と 同 じ も の を 指 す エ ン ト リ を ス タ ッ ク か ら 除 去 し ま す 。 (+) ’+n’ と し て 番 号 を つ け る と 、 デ ィ レ ク ト リ ス タ ッ ク の n 番 目 の エ ン ト リ が ト ッ プ に く る よ う に ス タ ッ ク を 回 転 し ま す 。 dextract が セ ッ ト さ れ て い る 場 合 、 ’pushd +n’ を 行 う と n 番 目 の デ ィ レ ク ト リ が 展 開 さ れ て 、 ス タ ッ ク の ト ッ プ に 移 動 さ れ ま す 。 (+)

ま た 、 す べ て の 形 式 の

pushddirs と 同 じ よ う に デ ィ レ ク ト リ ス

タ ッ ク の 最 終 的 な 内 容 を 表 示 し ま す 。 シ ェ ル 変 数 pushdsilent を セ ッ ト す る こ と で こ れ を や め る こ と が で き 、 ま た さ ら に こ れ は -p フ ラ グ に よ っ て オ ー バ ー ラ イ ド す る こ と が 可 能 で す 。 pushd に 対 す る −l, −n, −v フ ラ グ の 意 味 は dirs の も の と 同 様 で す 。 (+)

rehash

path 変 数 の 示 す デ ィ レ ク ト リ の 内 容 を 保 持 す る 内 部 ハ ッ シ ュ テ ー ブ ル を 再 構 成 し ま す 。 こ れ は ロ グ イ ン し て い る 間 に 新 し い コ マ ン ド が path の 示 す デ ィ レ ク ト リ に 追 加 さ れ た 場 合 に 必 要 で す 。 こ れ は あ な た が 自 分 の 個 人 的 な デ ィ レ ク ト リ に コ マ ン ド を 追 加 し た 場 合 か 、 シ ス テ ム 管 理 者 が シ ス テ ム デ ィ レ ク ト リ の 内 容 を 変 更 し た 場 合 に の み 行 わ れ る べ き で す 。 こ の コ マ ン ド は ま た 、 チ ル ダ 記 号 を 用 い た ホ ー ム デ ィ レ ク ト リ 記 述 の キ ャ ッ シ ュ も フ ラ ッ シ ュ し ま す 。

repeat count command 指 定 さ れ た コ マ ン ド commandcount 回 繰 り 返 し 実 行 し ま す 。 command に 指 定 す る も の は 一 行 if 文 で 指 定 す る command と 同 様 の 制 限 を 受 け ま す 。 入 出 力 リ ダ イ レ ク シ ョ ン は count が 0 で あ っ て も 、 必 ず 一 回 だ け 処 理 さ れ ま す 。
rootnode //
nodename (+) ル ー ト ノ ー ド を //nodename に 変 更 し ま す 。 結 果 と し て ’/’ は ’//nodename’ と し て 解 釈 さ れ ま す 。 (Domain/OS の み )

sched (+)
sched
[+]hh:mm command (+)
sched −
n (+) 最 初 の 形 式 は 、 予 定 さ れ て い る イ ベ ン ト の リ ス ト を 表 示 し ま す 。 シ ェ ル 変 数 sched は 予 定 さ れ て い る イ ベ ン ト の リ ス ト を 表 示 す る 形 式 を 設 定 す る た め に セ ッ ト さ れ ま す 。 3 番 目 の 形 式 は command を 予 定 さ れ て い る イ ベ ン ト の リ ス ト に 追 加 し ま す 。 た と え ば 、

>

sched 11:00 echo It\’s eleven o\’clock.

は 、 午 前 11 時 に ’It’s eleven o’clock.’ を 表 示 さ せ ま す 。 時 間 は 12 時 間 制 の AM/PM を 指 定 す る 書 式 で も 構 い ま せ ん 。

>

sched 5pm set prompt=’[%h] It\’s after 5; go home: >’

ま た 、 現 在 時 刻 か ら の 相 対 的 な 時 間 で も 構 い ま せ ん 。

>

sched +2:15 /usr/lib/uucp/uucico −r1 −sother

相 対 的 な 指 定 で は AM/PM を 使 う べ き で は あ り ま せ ん 。 3 番 目 の 書 式 で は n 番 の イ ベ ン ト を リ ス ト か ら 削 除 し ま す 。

>

sched

1 Wed Apr 4 15:42 /usr/lib/uucp/uucico −r1 −sother
2 Wed Apr 4 17:00 set prompt=[%h] It’s after 5; go home: > > sched −2 > sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico −r1 −sother 予 定 イ ベ ン ト の リ ス ト に あ る コ マ ン ド は 、 コ マ ン ド が リ ス ト に 入 れ ら れ て か ら 最 初 の プ ロ ン プ ト が 出 た あ と で 実 行 さ れ ま す 。 実 行 の 正 確 な 時 間 を 過 ぎ て し ま う こ と は あ り ま す が 、 次 の プ ロ ン プ ト で は 遅 れ た コ マ ン ド が 実 行 さ れ ま す 。 シ ェ ル が ユ ー ザ の コ マ ン ド 入 力 を 待 っ て い る 間 に 実 行 予 定 時 間 が 来 た コ マ ン ド は 直 ち に 実 行 さ れ ま す 。 し か し 、 既 に 実 行 さ れ て い る コ マ ン ド の 実 行 に 割 り 込 む こ と は で き ま せ ん し 、 予 定 さ れ て い た コ マ ン ド の 実 行 に つ い て も 同 様 で す 。 こ の 仕 組 み は い く つ か の Unix シ ス テ ム に 実 装 さ れ て い る at(1) に 似 て い ま す が 同 じ で は あ り ま せ ん 。 指 定 し た 時 刻 通 り に コ マ ン ド が 実 行 で き な い こ と が あ る の は 非 常 に 大 き な 短 所 で す 。 し か し こ の 仕 組 み の 長 所 は 、 sched は シ ェ ル か ら 直 接 実 行 で き 、 シ ェ ル 変 数 や そ の 他 の 資 源 へ の ア ク セ ス が で き る と い う こ と で す 。 こ れ は 時 刻 に よ っ て ユ ー ザ の 作 業 環 境 を 変 化 さ せ る こ と を 可 能 に し ま す 。

set
set
name ...
set
name=word ...
set [−r] [−f|−l]
name=(wordlist) ... (+)
set
name[index]=word ...
set −r
(+)
set −r
name ... (+)
set −r
name=word ... (+)

1 番 目 の 形 式 で は す べ て の シ ェ ル 変 数 の 値 を 表 示 し ま す 。 複 数 の 単 語 か ら な る 値 を 持 つ 変 数 は 括 弧 で 囲 ま れ た 値 の リ ス ト と し て 表 示 し ま す 。 2 番 目 の 形 式 で は name に 空 文 字 列 を セ ッ ト し ま す 。 3 番 目 の 形 式 で は name に 単 一 の 単 語 word を セ ッ ト し ま す 。 4 番 目 の 形 式 で は namewordlist で 示 し た 単 語 の リ ス ト を セ ッ ト し ま す 。 す べ て の 場 合 に お い て コ マ ン ド 置 換 や フ ァ イ ル 名 置 換 が 値 に 対 し て 行 わ れ ま す 。 −r が 指 定 さ れ た 場 合 に は 、 値 は 読 み 取 り 専 用 で セ ッ ト さ れ ま す 。 −f ま た は −l が 指 定 さ れ た 場 合 に は 、 単 語 リ ス ト の 中 で の 順 番 を 保 ち な が ら 重 複 し た 単 語 が 取 り 除 か れ ま す 。 −f は 最 初 に 出 て き た も の を リ ス ト に 残 し 、 −l は 最 後 に 出 て き た も の を リ ス ト に 残 し ま す 。 5 番 目 の 書 式 で は 変 数 name の index 番 目 の 要 素 に word を セ ッ ト し ま す 。 こ の 場 合 こ の 要 素 は 既 に 存 在 し て い な け れ ば な り ま せ ん 。 6 番 目 の 書 式 は 読 み 取 り 専 用 に セ ッ ト さ れ て い る シ ェ ル 変 数 の 名 前 の 一 覧 を 表 示 し ま す 。 7 番 目 の 書 式 は name を 、 値 の 有 無 に 関 わ ら ず 読 み 取 り 専 用 に セ ッ ト し ま す 。 8 番 目 の 書 式 は 3 番 目 の 書 式 と 同 じ で す が 、 同 時 に name を 読 み 取 り 専 用 に セ ッ ト し ま す 。

複 数 の 変 数 を セ ッ ト し た り 、 読 み 取 り 専 用 に セ ッ ト す る た め に ひ と つ の

set コ マ ン ド へ の 引 数 を 繰 り 返 す こ と が で き ま す 。 し か し 、 変 数 へ の 代 入 処 理 を 開 始 す る 前 に 変 数 展 開 処 理 が 一 度 に 行 わ れ る こ と に 注 意 し て く だ さ い 。 ま た 、 ’=’ は namewordの 両 方 と 接 し て い る か 、 空 白 で 区 切 ら れ て い る か の ど ち ら か で あ り 、 片 方 だ け と 接 し て は い け な い こ と に 注 意 し て く だ さ い 。 組 み 込 み コ マ ン ド unset に つ い て も 参 照 し て く だ さ い 。
setenv
[name [value]] 引 数 が な け れ ば 、 す べ て の 環 境 変 数 の 名 前 と 値 を 表 示 し ま す 。 name を 与 え ら れ た 場 合 は 、 環 境 変 数 name の 値 を value に セ ッ ト す る か 、 value が な け れ ば 空 文 字 列 に セ ッ ト し ま す 。
setpath
path (+)

setpath(1) と 同 様 で す 。 (Mach の み )

setspath LOCAL|site|cpu ... (+) シ ス テ ム 実 行 パ ス を 設 定 し ま す 。 (TCF の み )
settc
cap value (+) シ ェ ル に 端 末 ケ ー パ ビ リ テ ィ cap (termcap(5) で 定 義 さ れ た も の ) は 値 value を 持 つ こ と を 教 え ま す 。 妥 当 性 の チ ェ ッ ク は 行 わ れ ま せ ん 。 Concept 端 末 の ユ ー ザ は 、 一 番 右 の 桁 で 適 切 な 折 り 返 し を 行 う た め に ’settc xn no’ を 行 う 必 要 が あ る か も し れ ま せ ん 。
setty
[−d|−q|−x] [−a] [[+|]mode] (+) シ ェ ル が 変 更 し て は な ら な い tty モ ー ド (端 末 管 理 を 参 照 ) を 制 御 し ま す 。 −d, −q, −xsetty に 、 そ れ ぞ れ ’edit’, ’quote’, ’execute’ 時 の tty モ ー ド を セ ッ ト し ま す 。 −d, −q, −x が 指 定 さ れ な い 場 合 、 ’execute’ が 使 用 さ れ ま す 。

他 の 引 数 が な け れ ば 、

setty は オ ン (’+mode’) ま た は オ フ

(’-mode’) に 固 定 さ れ て い る モ ー ド を 一 覧 表 示 し ま す 。 使 用 可 能 な モ ー ド は シ ス テ ム ご と に 異 な る た め 、 表 示 も 異 な り ま す 。 −a を つ け る と 、 固 定 さ れ て い る か ど う か に か か わ ら ず す べ て の tty モ ー ド を 一 覧 表 示 し ま す 。 +mode, mode, mode は 、 そ れ ぞ れ モ ー ド mode を オ ン に 固 定 、 オ フ に 固 定 、 非 固 定 に し ま す 。 た と え ば 、 ’setty +echok echoe’ は ’echok’ を オ ン に 固 定 し 、 シ ェ ル が コ マ ン ド を 実 行 す る 際 に ’echoe’ モ ー ド を オ ン に し た り オ フ に し た り で き る よ う に し ま す 。

setxvers [string] (+)

string に 試 験 的 な バ ー ジ ョ ン プ リ フ ィ ッ ク ス を セ ッ ト し 、 string が 省 略 さ れ た 場 合 に は そ れ を 削 除 し ま す 。 (TCF の み )

shift [variable] 引 数 が な け れ ば 、 argv[1] を 破 棄 し て メ ン バ を 左 に ず ら し ま す 。 argv が セ ッ ト さ れ て い な か っ た り 、 値 が 1 つ も な か っ た 場 合 に は エ ラ ー に な り ま す 。 変 数 名 variable を 指 定 す る と 、 変 数 variable に 対 し て 同 じ 動 作 を 行 い ま す 。
source
[−h] name [args ...]

name か ら コ マ ン ド を 読 み 取 っ て 実 行 し ま す 。 コ マ ン ド は ヒ ス ト リ リ ス ト に は 残 さ れ ま せ ん 。 も し 引 数 args が 与 え ら れ れ ば そ れ は argv に 入 れ ら れ ま す 。 (+) source コ マ ン ド は 入 れ 子 に す る こ と が で き ま す 。 も し 入 れ 子 の レ ベ ル が あ ま り に 深 く な り 過 ぎ る と 、 シ ェ ル は フ ァ イ ル 記 述 子 の 不 足 を 起 こ す で し ょ う 。 source で の エ ラ ー は す べ て の 入 れ 子 に な っ て い る source の 実 行 を 停 止 し ま す 。 −h を 付 け る と 、 コ マ ン ド を 実 行 す る か わ り に ’history −L’ の よ う に ヒ ス ト リ リ ス ト に 入 力 さ れ ま す 。

stop %job|pid ... 指 定 し た バ ッ ク グ ラ ウ ン ド で 実 行 さ れ て い る ジ ョ ブ ま た は プ ロ セ ス を 停 止 し ま す 。 job は 番 号 か 、 文 字 列 か 、 あ る い は ジ ョ ブ に 示 さ れ て い る ’’, ’%’, ’+’, ’−’ の い ず れ か を 指 定 し ま す 。 デ フ ォ ル ト の job は 存 在 し な い の で 、 た だ ’stop’ を 実 行 す る だ け で は カ レ ン ト ジ ョ ブ を 停 止 す る こ と に は な り ま せ ん 。

suspend

^Z で 送 ら れ る よ う な stop シ グ ナ ル が 送 ら れ た か の よ う に 、 そ の 場 で シ ェ ル を 停 止 さ せ ま す 。 こ れ は 多 く の 場 合 su(1) で 起 動 し た シ ェ ル を 停 止 す る の に 用 い ら れ ま す 。

switch (string)
case
str1:

...

breaksw

...
default:

...

breaksw

endsw 指 定 さ れ た 文 字 列

string に 対 し て 、 各 case ラ ベ ル を 連 続 的 に マ ッ

チ さ せ ま す 。 string に は そ れ に 先 だ っ て コ マ ン ド 置 換 と フ ァ イ ル 名 置 換 が 行 わ れ ま す 。 case ラ ベ ル に は 変 数 置 換 が 行 わ れ 、 フ ァ イ ル 名 メ タ キ ャ ラ ク タ の ’*’, ’?’, ’[...]’ を 用 い る こ と が で き ま す 。 ’default’ ラ ベ ル が 出 て く る ま で に ど の case ラ ベ ル と も マ ッ チ し な か っ た 場 合 、 default ラ ベ ル の 後 か ら 実 行 が 開 始 さ れ ま す 。 各 case ラ ベ ル と default ラ ベ ル は 行 の 最 初 に な け れ ば な り ま せ ん 。 breaksw コ マ ン ド は 実 行 を 中 断 し て endsw の 後 か ら 再 開 さ せ ま す 。 breaksw を 使 用 し な い 場 合 は C 言 語 と 同 様 に case ラ ベ ル や default ラ ベ ル を 通 過 し て 実 行 が 続 け ら れ ま す 。 も し マ ッ チ す る ラ ベ ル も default ラ ベ ル も 存 在 し な い 場 合 は 、 実 行 は endsw の 後 か ら 再 開 さ れ ま す 。

telltc (+) 端 末 ケ ー パ ビ リ テ ィ の す べ て の 値 を 一 覧 表 示 し ま す (termcap(5) を 参 照 )。
time
[command] コ マ ン ド command (エ イ リ ア ス や パ イ プ ラ イ ン 、 コ マ ン ド リ ス ト や 括 弧 で く く っ た コ マ ン ド リ ス ト で な い 単 純 な も の で な け れ ば な り ま せ ん ) を 実 行 し 、 変 数 time の 項 で 説 明 す る 形 式 で 、 実 行 所 用 時 間 に 関 す る 要 約 を 表 示 し ま す 。 必 要 な ら ば 、 コ マ ン ド 終 了 時 に 時 間 を 表 示 す る た め の 追 加 の シ ェ ル が 生 成 さ れ ま す 。 command を 指 定 し な か っ た 場 合 は 、 現 在 の シ ェ ル と そ の 子 プ ロ セ ス が 使 用 し た 時 間 に 関 す る 要 約 が 表 示 さ れ ま す 。
umask
[value]

8 進 数 で 指 定 さ れ た フ ァ イ ル 作 成 マ ス ク を value に 設 定 し ま す 。 一 般 的 な マ ス ク の 値 と し て は 、 グ ル ー プ に す べ て の 権 限 を 与 え 、 そ の 他 に は 読 み 取 り と 実 行 の み を 許 可 す る 002 や 、 グ ル ー プ と そ の 他 に 読 み 取 り と 実 行 を 許 可 す る 022 が あ り ま す 。 value を 省 略 す る と 、 現 在 の フ ァ イ ル 作 成 マ ス ク を 表 示 し ま す 。

unalias pattern パ タ ー ン pattern に マ ッ チ す る す べ て の エ イ リ ア ス を 削 除 し ま す 。 し た が っ て ’unalias *’ と す る こ と で す べ て の エ イ リ ア ス を 削 除 で き ま す 。 unalias す る も の が な か っ た 場 合 も エ ラ ー に は な り ま せ ん 。
uncomplete
pattern (+) パ タ ー ン pattern に マ ッ チ す る す べ て の 補 完 対 象 を 削 除 し ま す 。 し た が っ て ’uncomplete *’ と す る こ と で す べ て の 補 完 対 象 を 削 除 し ま す 。 uncomplete す る も の が な か っ た 場 合 も エ ラ ー に は な り ま せ ん 。

unhash 実 行 プ ロ グ ラ ム の 検 索 を 高 速 化 す る 内 部 ハ ッ シ ュ テ ー ブ ル の 使 用 を 禁 止 し ま す 。

universe universe (+)

universe を universe に 設 定 し ま す 。 (Masscomp/RTU の み )

unlimit [−h] [resource] リ ソ ー ス resource の 制 限 を 解 除 し ま す 。 resource が 指 定 さ れ な い 場 合 は 、 す べ て の リ ソ ー ス に 関 す る 制 限 が 解 除 さ れ ま す 。 −h が 指 定 さ れ る と 、 対 応 す る ハ ー ド リ ミ ッ ト が 解 除 さ れ ま す 。 こ れ は ス ー パ ー ユ ー ザ の み が 行 う こ と が で き ま す 。
unset
pattern パ タ ー ン pattern に マ ッ チ す る す べ て の 変 数 を 、 読 み 取 り 専 用 の 場 合 も 含 め て 削 除 し ま す 。 し た が っ て ’unset *’ と す る こ と に よ っ て 読 み 取 り 専 用 の も の も 含 め て す べ て の 変 数 が 削 除 さ れ ま す が 、 こ れ は 良 い こ と で は あ り ま せ ん 。 unset す る も の が な か っ た 場 合 も エ ラ ー に は な り ま せ ん 。
unsetenv
pattern パ タ ー ン pattern に マ ッ チ す る す べ て の 環 境 変 数 を 削 除 し ま す 。 し た が っ て ’unsetenv *’ と す る こ と に よ っ て す べ て の 環 境 変 数 を 削 除 す る こ と が で き ま す が 、 こ れ は 良 い こ と で は あ り ま せ ん 。 unsetenv す る 環 境 変 数 が な か っ た 場 合 も エ ラ ー に は な り ま せ ん 。
ver
[systype [command]] (+) 引 数 が 与 え ら れ な か っ た 場 合 は SYSTYPE を 表 示 し ま す 。 systype を 指 定 し た 場 合 は 、 SYSTYPEsystype に 設 定 し ま す 。 systype と コ マ ン ド command を 指 定 し た 場 合 は 、 systypecommand を 実 行 し ま す 。 systype は ’bsd4.3’ か ’sys5.3’ の い ず れ か で す 。 (Domain/OS の み )

wait す べ て の バ ッ ク グ ラ ウ ン ド ジ ョ ブ の 終 了 を 待 ち ま す 。 対 話 的 に シ ェ ル が 実 行 さ れ て い る 場 合 、 割 り 込 み に よ り

wait を 停 止 す る こ と が で き ま す 。 こ の 際 シ ェ ル は ま だ 終 了 し て い な い す べ て の ジ ョ ブ の 名 前 と そ の 番 号 を 表 示 し ま す 。
warp
universe (+)

universe を universe に 設 定 し ま す 。 (Convex/OS の み )

watchlog (+) 組 み 込 み コ マ ン ド log の 別 名 で す (そ ち ら も 参 照 )。 コ ン パ イ ル 時 に 使 用 で き る よ う に 設 定 さ れ て い る 場 合 に の み 使 用 可 能 で す 。 シ ェ ル 変 数 version を 参 照 し て く だ さ い 。
where
command (+) コ マ ン ド command に つ い て 、 エ イ リ ア ス や 組 み 込 み コ マ ン ド 、 path に あ る 実 行 可 能 フ ァ イ ル を 含 め て シ ェ ル の 知 っ て い る す べ て の 実 体 を 一 覧 表 示 し ま す 。
which
command (+) コ マ ン ド command が 、 path の 検 索 な ど の 処 理 の あ と で 、 実 際 に 実 行 さ れ る コ マ ン ド を 表 示 し ま す 。 組 み 込 み の も の は which(1) と ほ と ん ど 同 じ で す が 、 tcsh の エ イ リ ア ス や 組 み 込 み コ マ ン ド つ い て も 正 し く 報 告 し 、 ま た 10 か ら 100 倍 高 速 で す 。 編 集 コ マ ン ド which-command に つ い て も 参 照 し て く だ さ い 。

while (expr)
...

end 指 定 さ れ た 式

expr ( で 述 べ ら れ て い る 式 ) の 評 価 結 果 が 0 で な い

限 り 、 while と そ れ に 対 応 す る end の 間 の コ マ ン ド を 繰 り 返 し 実 行 し ま す 。 whileend は そ の 行 に 単 独 で 書 か れ な け れ ば な り ま せ ん 。 breakcontinue は 、 ル ー プ を 途 中 で 中 断 し た り 再 開 す る 場 合 に 使 用 し ま す 。 入 力 が 端 末 の 場 合 は 、 foreach の 場 合 と 同 じ よ う に 、 ル ー プ の 内 容 を 一 通 り 入 力 す る ま で ユ ー ザ に プ ロ ン プ ト が 出 力 さ れ ま す 。 特 別 な エ イ リ ア ス (+) こ れ ら の エ イ リ ア ス は 、 設 定 さ れ て い る 場 合 そ れ ぞ れ 指 示 さ れ た 時 刻 に 自 動 的 に 実 行 さ れ ま す 。 こ れ ら の エ イ リ ア ス は 、 初 期 状 態 で は す べ て 未 定 義 で す 。

beepcmd シ ェ ル が 端 末 ベ ル を 鳴 ら し た い と き に 実 行 さ れ ま す 。

cwdcmd 作 業 デ ィ レ ク ト リ が 変 更 さ れ る た び に 実 行 さ れ ま す 。 た と え ば 、 ユ ー ザ が

X Window System 上 で 作 業 し て い て 、 xterm(1) お よ び twm(1) の よ う に 、 タ イ ト ル バ ー を サ ポ ー ト し て い る リ ペ ア レ ン ト ウ イ ン ド ウ マ ネ ー ジ ャ を 使 用 し て い て 、

>

alias cwdcmd ’echo −n "^[]2;${HOST}:$cwd ^G"’

を 実 行 す る と 、 シ ェ ル は 、 動 作 中 の xterm(1) の タ イ ト ル を ホ ス ト 名 、 コ ロ ン 、 そ し て カ レ ン ト 作 業 デ ィ レ ク ト リ の フ ル パ ス に 変 更 し ま す 。 こ れ を も っ と 面 白 く 実 行 す る に は 、 次 の よ う に し ま す 。

>

alias cwdcmd ’echo −n

"^[]2;${HOST}:$cwd^G^[]1;${HOST}^G"’ こ う す る と 、 ホ ス ト 名 お よ び 作 業 デ ィ レ ク ト リ は タ イ ト ル バ ー に 変 更 さ れ ま す が 、 ア イ コ ン マ ネ ー ジ ャ の メ ニ ュ ー に は ホ ス ト 名 し か 表 示 さ れ な く な り ま す 。

cwdcmd 中 に cd, pushd あ る い は popd を 置 く と 、 無 限 ル ー プ を 引 き 起 こ す 可 能 性 が あ る こ と に 注 意 し て く だ さ い 。 そ う い う こ と を す る 人 は 、 そ う し て し ま っ た 代 償 は 受 け る も の だ と い う の が 作 者 の 見 解 で す 。

jobcmd 各 コ マ ン ド が 実 行 さ れ る 前 ま た は コ マ ン ド が 状 態 を 変 え る 前 に 実 行 し ま す 。

postcmd と 似 て い ま す が 、 組 み 込 み コ マ ン ド で は 表 示 し ま せ ん 。

>

alias jobcmd ’echo −n "^[]2\;\!#^G"’

と し て vi foo.c を 実 行 す る と 、 コ マ ン ド 文 字 列 が xterm タ イ ト ル バ ー に 表 示 さ れ ま す 。

helpcommand

run-help 編 集 コ マ ン ド が 実 行 し ま す 。 ヘ ル プ が 探 す コ マ ン ド 名 は 、 単 一 の 引 数 と し て 渡 さ れ ま す 。 た と え ば 、

>

alias helpcommand ’\!:1 --help’

と す る と 、 GNU の ヘ ル プ 呼 び 出 し 方 法 を 使 っ た 、 コ マ ン ド そ の も の の ヘ ル プ 表 示 が 実 行 さ れ ま す 。 現 在 の と こ ろ 、 た く さ ん の コ マ ン ド を 書 い た テ ー ブ ル を 使 う 以 外 に は 、 い ろ い ろ な 呼 び 出 し 方 法 (た と え ば 、 Unix の ’-h’ オ プ シ ョ ン ) を 使 い 分 け る 簡 単 な 方 法 は あ り ま せ ん 。

periodic

tperiod 分 お き に 実 行 さ れ ま す 。 こ の エ イ リ ア ス は 、 た と え ば 新 し い メ ー ル が 届 い た と い う よ う な 、 日 常 的 で は あ っ て も そ れ ほ ど 頻 繁 に は 起 こ ら な い 変 更 点 を チ ェ ッ ク す る の に 便 利 な 手 段 を 提 供 し ま す 。 た と え ば 、

>

set tperiod = 30

> alias periodic checknews と す る と 、 30 分 お き に checknews(1) プ ロ グ ラ ム が 起 動 し ま す 。 periodic が 設 定 さ れ て い る が 、 tperiod が 設 定 さ れ て い な い か あ る い は 0 に 設 定 さ れ て い る 場 合 、 periodicprecmd の よ う に 振 る 舞 い ま す 。

precmd プ ロ ン プ ト が 表 示 さ れ る 直 前 に 実 行 さ れ ま す 。 た と え ば 、

>

alias precmd date と す る と 、 各 コ マ ン ド 用 に シ ェ ル プ ロ ン プ ト が 表 示 さ れ る 直 前 に date(1) が 起 動 し ま す 。 precmd に 何 を 設 定 で き る か に は 制 限 は あ り ま せ ん が 、 慎 重 に 選 ん で く だ さ い 。

postcmd 各 コ マ ン ド が 実 行 さ れ る 前 に 実 行 さ れ ま す 。

>

alias postcmd ’echo −n "^[]2\;\!#^G"’ と す る と 、 vi foo.c を 実 行 す る と xterm の タ イ ト ル バ ー に こ の コ マ ン ド 文 字 列 が 書 か れ ま す 。

shell ス ク リ プ ト 中 で イ ン タ プ リ タ を 指 定 し て い な い 実 行 可 能 ス ク リ プ ト 用 の イ ン タ プ リ タ を 指 定 し ま す 。 最 初 の 単 語 は 、 使 用 し た い イ ン タ プ リ タ へ の フ ル パ ス で な く て は な り ま せ ん

(た と え ば 、 ’/bin/csh’ や ’/usr/local/bin/tcsh’)。 特 別 な シ ェ ル 変 数 こ の セ ク シ ョ ン で 述 べ る 変 数 は 、 シ ェ ル に と っ て は 特 別 な 意 味 の あ る も の で す 。 シ ェ ル は 、 起 動 時 に 次 の 変 数 を 設 定 し ま す 。 addsuffix, argv, autologout, command, echo_style, edit, gid, group, home, loginsh, oid, path, prompt, prompt2, prompt3, shell, shlvl, tcsh, term, tty, uid, user そ し て version で す 。 こ れ ら の 変 数 は 、 起 動 後 は ユ ー ザ が 変 更 し な い 限 り 変 更 さ れ ま せ ん 。 シ ェ ル は 、 必 要 が あ れ ば 、 cwd, dirstack, owd お よ び status を 更 新 し 、 ロ グ ア ウ ト 時 に logout を 設 定 し ま す 。 シ ェ ル は 、 シ ェ ル 変 数 afsuser, group, home, path, shlvl, term お よ び user と 同 名 の 環 境 変 数 と の 同 期 を 取 り ま す 。 つ ま り 、 環 境 変 数 が 変 更 さ れ る と 、 シ ェ ル は 対 応 す る シ ェ ル 変 数 を 合 致 す る よ う に 変 更 す る の で す (シ ェ ル 変 数 が 読 み 込 み 専 用 で な い 場 合 で す )。 ま た 、 そ の 逆 も 行 い ま す 。 こ こ で 、 cwdPWD は 同 じ 意 味 を 持 ち ま す が 、 こ の 方 法 で は 同 期 は 行 わ れ な い と い う こ と に 注 意 し て く だ さ い 。 ま た 、 シ ェ ル は 、 自 動 的 に pathPATH の 違 っ た 形 式 を 相 互 変 換 す る と い う こ と に も 注 意 し て く だ さ い 。
addsuffix
(+) こ れ が 設 定 さ れ て い る 場 合 、 フ ァ イ ル 名 が 補 完 の 際 に 完 全 に 一 致 す る と き に 、 一 致 し た も の が デ ィ レ ク ト リ の 場 合 に は 末 尾 に ’/’ を 付 け 加 え 、 通 常 の フ ァ イ ル の 場 合 に は 末 尾 に ス ペ ー ス を 加 え ま す 。 デ フ ォ ル ト で 設 定 さ れ て い ま す 。
afsuser
(+) こ れ が 設 定 さ れ て い る 場 合 、 autologout の autolock 機 能 は 、 ロ ー カ ル の ユ ー ザ 名 の 代 わ り に こ の 値 を kerberos 認 証 用 に 使 い ま す 。
ampm
(+) こ れ が 設 定 さ れ て い る 場 合 、 時 刻 が 12 時 間 単 位 の AM/PM フ ォ ー マ ッ ト で す べ て 表 示 さ れ ま す 。

argv シ ェ ル へ の 引 数 で す 。 位 置 パ ラ メ ー タ は

argv か ら 取 ら れ ま す 。 す な

わ ち 、 ’$1’ は ’$argv[1]’ に 置 き 換 え ら れ る と い っ た 具 合 で す 。 デ フ ォ ル ト で 設 定 さ れ て い ま す が 、 通 常 対 話 型 シ ェ ル で は 空 で す 。

autocorrect (+) こ れ が 設 定 さ れ て い る 場 合 は 、 補 完 を 試 み る 前 に 自 動 的 に spell-word 編 集 コ マ ン ド が 実 行 さ れ ま す 。
autoexpand
(+) こ れ が 設 定 さ れ て い る 場 合 は 、 補 完 を 試 み る 前 に 自 動 的 に expand-history 編 集 コ マ ン ド が 実 行 さ れ ま す 。
autolist
(+) こ れ が 設 定 さ れ て い る 場 合 は 、 あ い ま い な 補 完 を 行 っ た 後 、 可 能 性 の あ る も の を リ ス ト し ま す 。

’ambiguous’ が 設 定 さ れ て い る 場 合 、 可 能 性 の あ る も の を リ ス ト す る の は 、 補 完 に よ っ て 何 の 文 字 も 追 加 さ れ な か っ た 場 合 に 限 ら れ ま す 。

autologout (+)

1 番 目 の 単 語 は 、 時 間 を 分 単 位 で 表 し て お り 、 こ の 時 間 以 上 の 間 、 何 の 処 理 も し て い な け れ ば 自 動 的 に ロ グ ア ウ ト さ れ ま す 。 2 番 目 の 単 語 は オ プ シ ョ ン で あ り 、 こ こ で 指 定 さ れ た 時 間 以 上 の 間 、 何 の 処 理 も し て い な け れ ば 自 動 ロ ッ ク が か か り ま す 。 シ ェ ル が 自 動 的 に ロ グ ア ウ ト す る 際 に は 、 シ ェ ル は ’auto-logout’ と 出 力 し 、 logout 変 数 を ’automatic’ に 設 定 し 、 そ し て 終 了 し ま す 。 シ ェ ル が 自 動 的 に ロ ッ ク さ れ た ユ ー ザ は 、 作 業 を 続 け た い な ら 自 分 の パ ス ワ ー ド を 入 力 す る こ と が 必 要 に な り ま す 。 5 回 入 力 に 失 敗 す る と 、 自 動 的 に ロ グ ア ウ ト し ま す 。 ロ グ イ ン シ ェ ル お よ び ス ー パ ユ ー ザ の シ ェ ル で は 、 デ フ ォ ル ト で ’60’(60 分 後 自 動 的 に ロ グ ア ウ ト し 、 ロ ッ ク は か け な い ) に 設 定 さ れ て い ま す 。 し か し 、 シ ェ ル が ウ イ ン ド ウ シ ス テ ム の も と で 動 い て い る と 認 識 し た 場 合 (す な わ ち 、 DISPLAY 環 境 変 数 が 設 定 さ れ て い る ) や 、 tty が 疑 似 tty(pty) で あ る 場 合 、 あ る い は 、 シ ェ ル が そ の よ う に は コ ン パ イ ル さ れ て い な い 場 合 (version シ ェ ル 変 数 を 参 照 ) に は 設 定 さ れ ま せ ん 。 afsuser お よ び logout シ ェ ル 変 数 も 参 照 し て く だ さ い 。

backslash_quote (+) こ れ が 設 定 さ れ て い る 場 合 、 バ ッ ク ス ラ ッ シ ュ (’\’) は 常 に ’\’, ’’’, お よ び ’"’ で ク ォ ー ト さ れ ま す 。 こ れ に よ っ て 、 複 雑 な ク ォ ー ト を す る 手 間 が 緩 和 さ れ ま す が 、 csh(1) ス ク リ プ ト 中 で 文 法 エ ラ ー を ひ き 起 こ す 可 能 性 が 出 て き ま す 。

catalog メ ッ セ ー ジ カ タ ロ グ の フ ァ イ ル 名 で す 。 こ れ が 設 定 さ れ て い る 場 合 、 デ フ ォ ル ト の

’tcsh’ の 代 り に ’tcsh.${catalog}’ を 、 メ ッ セ ー ジ カ タ ロ グ と し て tcsh は 使 用 し ま す 。

cdpath カ レ ン ト デ ィ レ ク ト リ 中 に サ ブ デ ィ レ ク ト リ が 見 つ か ら な か っ た 場 合 に 、

cd が 探 索 す べ き デ ィ レ ク ト リ の リ ス ト で す 。

color こ れ が 設 定 さ れ て い る 場 合 、 組 み 込 み コ マ ン ド

ls−F 用 の カ ラ ー 表 示

を 有 効 に し 、 −−color=autols に 渡 し ま す 。 あ る い は 、 た だ 1 つ の コ マ ン ド に 対 し て カ ラ ー 表 示 を 有 効 に す る た め 、 ls−F ま た は ls の み に 設 定 す る こ と が で き ま す 。 何 に 対 し て も 設 定 し な い 場 合 は 、 (ls−F ls) に 対 し て 設 定 し た の と 等 価 で す 。

colorcat こ れ が 設 定 さ れ て い る 場 合 は 、 NLS メ ッ セ ー ジ フ ァ イ ル に 対 し て カ ラ ー 用 エ ス ケ ー プ シ ー ケ ン ス を 有 効 に し ま す 。 こ れ に よ っ て 、 色 の つ い た NLS メ ッ セ ー ジ が 表 示 さ れ ま す 。
command
(+) こ れ が 設 定 さ れ て い る 場 合 、 シ ェ ル に 渡 さ れ た コ マ ン ド は 、 -c フ ラ グ (そ ち ら も 参 照 ) を つ け た も の に な り ま す 。
complete
(+) こ れ が ’enhance’ に 設 定 さ れ て い る 場 合 、 補 完 は 、 1) 大 文 字 小 文 字 を 無 視 し 、 2) ピ リ オ ド 、 ハ イ フ ン 、 お よ び ア ン ダ ス コ ア (’.’, ’-’, ’_’) を 単 語 の 区 切 り 文 字 と み な し 、 ハ イ フ ン と ア ン ダ ス コ ア を 等 価 な も の と み な し ま す 。
continue
(+) コ マ ン ド リ ス ト に 対 し て こ れ が 設 定 さ れ て い る 場 合 、 シ ェ ル は リ ス ト さ れ て い る コ マ ン ド を 継 続 実 行 し 、 新 た に コ マ ン ド を 開 始 し ま せ ん 。
continue_args
(+)

continue と 同 じ で す が 、 シ ェ ル は 次 の コ マ ン ド を 実 行 し ま す :

echo ’pwd’ $argv > ~/.<cmd>_pause; %<cmd>

correct (+)

’cmd’ に 設 定 さ れ て い る 場 合 、 コ マ ン ド は 自 動 的 に ス ペ ル 訂 正 さ れ ま す 。 ’complete’ に 設 定 さ れ て い る 場 合 、 コ マ ン ド は 自 動 的 に 補 完 さ れ ま す 。 ’all’ に 設 定 さ れ て い る 場 合 、 コ マ ン ド ラ イ ン 全 体 が 訂 正 さ れ ま す 。

dirstack お よ

cwd カ レ ン ト デ ィ レ ク ト リ の フ ル パ ス 名 で す 。 シ ェ ル 変 数

owd も 参 照 し て く だ さ い 。

dextract (+) こ れ が 設 定 さ れ て い る 場 合 、 ’pushd +n’ は デ ィ レ ク ト リ を 先 頭 に 持 っ て い く の で は な く 、 デ ィ レ ク ト リ ス タ ッ ク か ら n 番 目 の デ ィ レ ク ト リ を 取 り 出 し ま す 。
dirsfile
(+)

’dirs −S’ お よ び ’dirs −L’ が ヒ ス ト リ フ ァ イ ル を 探 す デ フ ォ ル ト の 場 所 で す 。 設 定 し て い な い 場 合 は 、 ~/.cshdirs が 使 わ れ ま す 。 通 常 、 ~/.tcshrc の 方 が ~/.cshdirs よ り も 先 に ソ ー ス と し て 使 わ れ る た め 、 dirsfile は 、 ~/.login で は な く ~/.tcshrc 中 で 設 定 す べ き で す 。

dirstack (+) デ ィ レ ク ト リ ス タ ッ ク 上 の 全 デ ィ レ ク ト リ の 配 列 で す 。 ’$dirstack[1]’ は カ レ ン ト デ ィ レ ク ト リ で あ り 、 ’$dirstack[2]’ は ス タ ッ ク 上 の 最 初 の デ ィ レ ク ト リ と い っ た 具 合 で す 。 カ レ ン ト デ ィ レ ク ト リ は ’$dirstack[1]’ で す が 、 デ ィ レ ク ト リ ス タ ッ ク の 置 換 で は ’=0’ で あ る な ど と い う こ と に 注 意 し て く だ さ い 。 dirstack を 設 定 す る こ と で ス タ ッ ク を 任 意 に 変 更 す る こ と が で き ま す が 、 最 初 の 要 素 (カ レ ン ト デ ィ レ ク ト リ ) は 常 に 正 し い も の に な り ま す 。 シ ェ ル 変 数 cwd お よ び owd も 参 照 し て く だ さ い 。
dspmbyte
(+)

’euc’ に 設 定 さ れ て い る 場 合 、 EUC-kanji(Japanese) コ ー ド で 表 示 お よ び 編 集 が で き る よ う に な り ま す 。 ’sjis’ に 設 定 さ れ て い る 場 合 、 Shift-JIS(Japanese) コ ー ド で 表 示 お よ び 編 集 が で き る よ う に な り ま す 。 ’big5’ に 設 定 さ れ て い る 場 合 、 Big5(Chinese) コ ー ド で 表 示 お よ び 編 集 が で き る よ う に な り ま す 。 次 の よ う な フ ォ ー マ ッ ト に 設 定 さ れ て い る 場 合 、 独 自 の マ ル チ バ イ ト コ ー ド フ ォ ー マ ッ ト で 表 示 お よ び 編 集 が で き る よ う に な り ま す :

>

set dspmbyte = 0000....(256 bytes)....0000

テ ー ブ ル に は ち ょ う ど 256 バ イ ト 必 要 で す 。 256 文 字 そ れ ぞ れ は 、 ASCII コ ー ド 0x00, 0x01, ... 0xff に (左 か ら 右 に 向 か っ て ) 対 応 し て い ま す 。 各 キ ャ ラ ク タ は 、 数 値 0, 1, 2, 3 に 設 定 さ れ ま す 。 各 数 字 に は 次 の よ う な 意 味 が あ り ま す :

0 ... マ ル チ バ イ ト 文 字 に 対 し て は 使 わ れ ま せ ん 。
1 ... マ ル チ バ イ ト 文 字 の 最 初 の 1 バ イ ト に 対 し て 使 わ れ ま す 。
2 ... マ ル チ バ イ ト 文 字 の 2 バ イ ト 目 に 対 し て 使 わ れ ま す 。
3 ... マ ル チ バ イ ト 文 字 の 1, 2 バ イ ト 両 方 に 対 し て 使 わ れ ま す 。 使 用 例 :
’001322’ に 設 定 し た 場 合 、 最 初 の 文 字 (す な わ ち 、 ASCII コ ー ド で 0x00) と 2 番 目 の 文 字 (す な わ ち 、 ASCII コ ー ド で 0x01) は ’0’ に 設 定 さ れ ま す 。 つ ま り 、 マ ル チ バ イ ト 文 字 に 対 し て は こ れ ら の 文 字 は 使 用 し ま せ ん 。 3 番 目 の 文 字 (0x02) は ’2’ に 設 定 さ れ ま す 。 こ れ は 、 マ ル チ バ イ ト 文 字 の 最 初 の 1 バ イ ト に こ の 文 字 が 使 用 さ れ る こ と を 表 し て い ま す 。 4 番 目 の 文 字 (0x03) は ’3’ に 設 定 さ れ ま す 。 こ の 文 字 は 、 マ ル チ バ イ ト 文 字 の 1 バ イ ト 目 に も 2 バ イ ト 目 に も 使 用 さ れ ま す 。 5 番 目 お よ び 6 番 目 の 文 字 (0x04, 0x05) は ’2’ に 設 定 さ れ ま す 。 こ れ は 、 こ れ ら の 文 字 が マ ル チ バ イ ト 文 字 の 2 バ イ ト 目 に 使 用 さ れ る こ と を 表 し て い ま す 。

GNU fileutils バ ー ジ ョ ン の ls で は 、 -N ( --literal ) オ プ シ ョ ン が つ い て い な い と マ ル チ バ イ ト 文 字 の フ ァ イ ル 名 を 表 示 で き ま せ ん 。 も し 、 fileutils バ ー ジ ョ ン を 使 っ て い る 場 合 は 、 dspmbyte の 2 番 目 の 文 字 を "ls" に 設 定 し て く だ さ い 。 そ う し な い と 、 た と え ば "ls-F -l" で マ ル チ バ イ ト 文 字 の フ ァ イ ル 名 が 表 示 で き ま せ ん 。

dunique (+) こ れ が 設 定 さ れ て い る 場 合 、 pushd は 、 デ ィ レ ク ト リ 名 を ス タ ッ ク に 置 く 前 に name で あ る 任 意 の 要 素 を ス タ ッ ク か ら 削 除 し ま す 。

echo こ れ が 設 定 さ れ て い る 場 合 、 各 コ マ ン ド は 、 実 行 さ れ る 直 前 に 引 数 と 一 緒 に エ コ ー さ れ ま す 。 組 み 込 み コ マ ン ド 以 外 の コ マ ン ド に つ い て は 、 展 開 が す べ て 行 わ れ た 後 に エ コ ー さ れ ま す 。 組 み 込 み コ マ ン ド に つ い て は 、 コ マ ン ド お よ び フ ァ イ ル 名 の 置 換 が 行 わ れ る よ り も 前 に エ コ ー さ れ ま す 。 こ れ は 、 置 換 が ユ ー ザ の 選 択 に よ っ て 行 わ れ る も の だ か ら で す 。 こ の シ ェ ル 変 数 は 、 コ マ ン ド ラ イ ン オ プ シ ョ ン

-x で 設 定 さ れ ま す 。
echo_style
(+)

echo 組 み 込 み コ マ ン ド の ス タ イ ル で す 。 次 の よ う に 設 定 で き ま す 。

bsd 第

1 引 数 が ’-n’ で あ る 場 合 、 改 行 を エ コ ー し ま せ ん 。

sysv

echo 中 の 文 字 列 の バ ッ ク ス ラ ッ シ ュ で 始 ま る エ ス ケ ー プ シ ー ケ ン ス を 認 識 し ま す 。

both

’-n’ フ ラ グ と バ ッ ク ス ラ ッ シ ュ で 始 ま る エ ス ケ ー プ シ ー ケ ン ス の 両 方 と も を 認 識 し ま す 。 こ れ が デ フ ォ ル ト で す 。

none

ど ち ら も 認 識 し ま せ ん 。 デ フ ォ ル ト で は 、 ロ ー カ ル シ ス テ ム の デ フ ォ ル ト に 設 定 さ れ ま す 。 BSD な ら び に System V オ プ シ ョ ン は 、 適 当 な シ ス テ ム の echo(1) マ ニ ュ ア ル ペ ー ジ に 解 説 が あ り ま す 。

edit (+) こ れ が 設 定 さ れ て い る 場 合 、 コ マ ン ド ラ イ ン エ デ ィ タ が 使 わ れ ま す 。 対 話 型 シ ェ ル で は デ フ ォ ル ト で 設 定 さ れ て い ま す 。
ellipsis
(+) こ れ が 設 定 さ れ て い る 場 合 、 ’%c’/’%.’ お よ び ’%C’ プ ロ ン プ ト シ ー ケ ン ス (prompt シ ェ ル 変 数 を 参 照 ) は 、 ’/<skipped>’ の 代 わ り に 省 略 記 号 (’...’) つ き の ス キ ッ プ デ ィ レ ク ト リ を 示 す よ う に な り ま す 。
fignore
(+) 補 完 す る 際 に 無 視 さ れ る フ ァ イ ル 名 の サ フ ィ ッ ク ス リ ス ト で す 。

filec

tcsh で は 補 完 は 常 に 行 わ れ ま す の で 、 こ の 変 数 は 無 視 さ れ ま す 。 csh で 設 定 さ れ て い る 場 合 は 、 フ ァ イ ル 名 の 補 完 が 使 わ れ る よ う に な り ま す 。

gid (+)

ユ ー ザ の 実 グ ル ー プ ID で す 。

group (+) ユ ー ザ の グ ル ー プ 名 で す 。
histchars ヒ ス ト リ 置 換
(そ ち ら も 参 照 ) で 使 わ れ る 文 字 を 決 定 す る 文 字 列 で す 。 こ の 値 の 最 初 の 文 字 は 、 デ フ ォ ル ト の ’!’ の 代 わ り に ヒ ス ト リ 置 換 文 字 と し て 使 わ れ ま す 。 2 番 目 の 文 字 は 、 ク イ ッ ク 置 換 の 際 の 文 字 ’^’ の 代 わ り を し ま す 。
histdup
(+) ヒ ス ト リ リ ス ト 中 の 重 複 エ ン ト リ の 扱 い を 制 御 し ま す 。 こ の 値 が ’all’ に 設 定 さ れ て い る 場 合 、 単 一 の ヒ ス ト リ イ ベ ン ト が ヒ ス ト リ リ ス ト に 入 力 さ れ ま す 。 ’prev’ に 設 定 さ れ て い る 場 合 、 最 後 の ヒ ス ト リ イ ベ ン ト は 現 在 の コ マ ン ド と 同 じ と な り 、 そ の た め 、 現 在 の コ マ ン ド は ヒ ス ト リ に は 入 力 さ れ ま せ ん 。 ’erase’ に 設 定 さ れ て い る 場 合 、 ヒ ス ト リ リ ス ト 中 に 同 じ イ ベ ン ト が 見 つ か っ た と き に は 、 古 い 方 の イ ベ ン ト は 消 去 さ れ 、 現 在 の も の が 挿 入 さ れ ま す 。 ’prev’ お よ び ’all’ オ プ シ ョ ン は ヒ ス ト リ イ ベ ン ト の 番 号 づ け を や り 直 し ま す の で 、 す き 間 は あ か な い の だ と い う こ と に 注 意 し て く だ さ い 。
histfile
(+)

’history −S’ お よ び ’history −L’ が 探 す ヒ ス ト リ フ ァ イ ル の デ フ ォ ル ト の 場 所 で す 。 こ れ が 設 定 さ れ て い な い 場 合 、 ~/.history が 使 わ れ ま す 。 別 々 の マ シ ン 間 で 同 じ ホ ー ム デ ィ レ ク ト リ を 共 有 し て い た り 、 端 末 ご と に ヒ ス ト リ を 分 け て 保 存 し て い た り す る 場 合 、 histfile は 便 利 な も の で す 。 通 常 、 ~/.history フ ァ イ ル よ り も 前 に 読 み 込 ま れ る の は ~/.tcshrc だ け な の で 、 histfile~/.login で は な く 、 ~/.tcshrc で 設 定 し て く だ さ い 。

histlit (+) こ れ が 設 定 さ れ て い る 場 合 、 組 み 込 み コ マ ン ド 、 編 集 コ マ ン ド お よ び savehist 機 構 は ヒ ス ト リ リ ス ト 中 の コ マ ン ド 行 を 文 字 通 り の (展 開 し な い ) 形 式 で 使 用 し ま す 。 toggle-literal-history 編 集 コ マ ン ド も 参 照 し て く だ さ い 。

history 最 初 の 単 語 は 、 記 録 し て お く べ き ヒ ス ト リ イ ベ ン ト 数 を 表 し ま す 。 オ プ シ ョ ン で あ る

2 番 目 の 単 語 (+) は 、 ヒ ス ト リ が ど う い う 形 式 で 表 示 さ れ る か を 示 し て い ま す 。 こ れ が 与 え ら れ て い な け れ ば 、 ’%h\t%T\t%R\n’ が 使 わ れ ま す 。 フ ォ ー マ ッ ト シ ー ケ ン ス は 、 prompt 下 に 記 述 さ れ て お り 、 そ こ で は 、 ’%R’ の 意 味 が 変 わ る こ と の 注 意 が さ れ て い ま す 。 デ フ ォ ル ト で は ’100’ で す 。

home 起 動 し た ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に 初 期 化 さ れ ま す 。 フ ァ イ ル 名 で の

~ の 展 開 に は 、 こ の 変 数 が 参 照 さ れ て い ま す 。
ignoreeof
こ れ が 空 文 字 列 あ る い は ’0’ に 設 定 さ れ て お り 、 入 力 デ バ イ ス が 端 末 で あ る 場 合 に は 、 end-of-file コ マ ン ド (通 常 は 、 ユ ー ザ が 空 行 に ’~D’ を 打 つ こ と で 生 成 さ れ ま す ) を 入 力 す る と 、 シ ェ ル は 終 了 し て し ま う 代 わ り に ’Use "exit" to leave tcsh.’ と 表 示 し ま す 。 こ れ に よ っ て 、 シ ェ ル が う っ か り kill さ れ て し ま う の を 防 ぐ こ と が で き ま す 。 番 号 n を 設 定 し て い る 場 合 に は 、 シ ェ ル は n - 1 回 連 続 し た end-of-file を 無 視 し 、 n 回 目 の end-of-file が あ れ ば そ の と き に 終 了 し ま す 。 (+) こ れ が 設 定 さ れ て い な い 場 合 に は 、 ’1’ が 使 わ れ ま す 。 つ ま り 、 シ ェ ル は ’^D’ 1 回 で 終 了 し ま す 。
implicitcd
(+) こ れ が 設 定 さ れ て い る 場 合 、 シ ェ ル は 、 コ マ ン ド と し て 入 力 さ れ た デ ィ レ ク ト リ 名 を 、 あ た か も そ の デ ィ レ ク ト リ へ 移 動 す る 要 求 で あ る も の と 解 釈 し ま す 。 verbose に 設 定 さ れ て い る 場 合 、 デ ィ レ ク ト リ の 移 動 が 行 わ れ る こ と が 標 準 出 力 に エ コ ー さ れ る よ う に な り ま す 。 こ の 振 る 舞 い は 、 非 対 話 的 な シ ェ ル ス ク リ プ ト 、 あ る い は 2 語 以 上 あ る コ マ ン ド 行 で は 禁 止 さ れ て い ま す 。 デ ィ レ ク ト リ を 移 動 す る の は 、 デ ィ レ ク ト リ 名 の よ う な 名 前 を 持 っ た コ マ ン ド を 実 行 す る よ り も 優 先 さ れ ま す が 、 エ イ リ ア ス の 置 換 よ り は 後 に な り ま す 。 チ ル ダ お よ び 変 数 の 展 開 も 動 作 し ま す 。
inputmode
(+)

’insert’ あ る い は ’overwrite’ に 設 定 さ れ て い る 場 合 、 各 行 の 先 頭 で エ デ ィ タ が 入 力 モ ー ド に 入 る よ う に な り ま す 。

killdup (+) キ ル リ ン グ 中 の 重 複 エ ン ト リ の 扱 い を 制 御 し ま す 。 ’all’ に セ ッ ト す る と 、 一 意 な エ ン ト リ の み が キ ル リ ン グ に 登 録 さ れ ま す 。 ’prev’ に セ ッ ト す る と 、 最 後 に キ ル さ れ た 文 字 列 が 現 在 の キ ル 文 字 列 に マ ッ チ す る 場 合 、 現 在 の 文 字 列 は リ ン グ に 登 録 さ れ ま せ ん 。 ’erase’ に セ ッ ト す る と 、 同 じ 文 字 列 が キ ル リ ン グ 中 に 見 付 か っ た 場 合 、 古 い 文 字 列 が 削 除 さ れ て 現 在 の 文 字 列 が 挿 入 さ れ ま す 。
killring
(+) 何 個 の キ ル さ れ た 字 列 を メ モ リ 中 に 保 持 す る か を 示 し ま す 。 デ フ ォ ル ト で ’30’ に セ ッ ト さ れ ま す 。 セ ッ ト し な い か 、 ’2’ よ り 小 さ い 値 を 設 定 す る と 、 最 近 キ ル し た 文 字 列 の み を シ ェ ル は 保 持 し ま す 。
listflags
(+)

’x’, ’a’, ’A’ あ る い は こ れ ら の 組 合 せ (た と え ば 、 ’xA’) に 設 定 さ れ て い る 場 合 、 こ れ ら の 値 は 、 ls−F へ の フ ラ グ と し て 使 わ れ 、 ’ls −xF’, ’ls −Fa’, ’ls −FA’ あ る い は こ れ ら の 組 合 せ (た と え ば 、 ’ls −FxA’) の よ う に 振 る 舞 う よ う に な り ま す 。 ’a’ は す べ て の フ ァ イ ル を 表 示 し ま す (た と え 、 ’.’ で 始 ま る フ ァ イ ル で あ っ て も )。 ’A’ は ’.’ お よ び ’..’ 以 外 の フ ァ イ ル す べ て を 表 示 し 、 ’x’ は 上 か ら 下 に 向 か っ て で は な く 、 左 か ら 右 に 向 か っ て ソ ー ト し ま す 。 listflags に 2 番 目 の 単 語 が 設 定 さ れ て い れ ば 、 そ れ は ’ls(1)’ へ の パ ス と し て 使 わ れ ま す 。

listjobs (+) こ れ が 設 定 さ れ て い れ ば 、 ジ ョ ブ が 一 時 停 止 し た と き に す べ て の ジ ョ ブ が リ ス ト さ れ ま す 。 ’long’ に 設 定 さ れ て い れ ば 、 リ ス ト は 長 い 形 式 の も の に な り ま す 。
listlinks
(+) こ れ が 設 定 さ れ て い れ ば 、 組 み 込 み コ マ ン ド ls−F は 各 シ ン ボ リ ッ ク リ ン ク が 指 し て い る フ ァ イ ル の 種 類 を 表 示 し ま す 。
listmax
(+)

list-choices 編 集 コ マ ン ド が ユ ー ザ に 最 初 に 尋 ね て こ な い で リ ス ト す る 最 大 要 素 数 で す 。

listmaxrows (+)

list-choices 編 集 コ マ ン ド が ユ ー ザ に 最 初 に 尋 ね て こ な い で リ ス ト す る 要 素 の 最 大 行 数 で す 。

loginsh (+) シ ェ ル が ロ グ イ ン シ ェ ル で あ る 場 合 に 設 定 さ れ ま す 。 シ ェ ル 中 で こ の 変 数 を 設 定 し た り 設 定 を 解 除 し た り し て も 何 の 効 力 も あ り ま せ ん 。 shlvl も 参 照 し て く だ さ い 。
logout
(+) 通 常 の ロ グ ア ウ ト の 前 に は 、 シ ェ ル に よ っ て ’normal’ が 、 自 動 ロ グ ア ウ ト の 前 に は ’automatic’ が 、 そ し て 、 シ ェ ル が ハ ン グ ア ッ プ シ グ ナ ル に よ っ て 終 了 さ せ ら れ た 場 合 (シ グ ナ ル の 扱 い を 参 照 ) に は ’hangup’ が 設 定 さ れ ま す 。 autologout シ ェ ル 変 数 も 参 照 し て く だ さ い 。

mail 届 け ら れ る メ ー ル を チ ェ ッ ク す る た め の フ ァ イ ル あ る い は デ ィ レ ク ト リ 名 で す 。 こ れ は 、 ス ペ ー ス で 区 切 ら れ 、 オ プ シ ョ ン で 数 字 を 前 に つ け ま す 。 プ ロ ン プ ト を 出 す 前 に 、 最 後 に メ ー ル チ ェ ッ ク を し て か ら

10 分 経 っ て い た 場 合 、 シ ェ ル は 各 フ ァ イ ル を チ ェ ッ ク し 、 も し フ ァ イ ル サ イ ズ が 0 よ り 大 き い か 、 あ る い は ア ク セ ス 時 刻 よ り も 変 更 時 刻 の 方 が 大 き か っ た 場 合 に は ’You have new mail.’ (あ る い は 、 mail に 複 数 の フ ァ イ ル が 含 ま れ て い た 場 合 、 ’You have new mail in name.’) と 表 示 し ま す 。 ロ グ イ ン シ ェ ル に い る 場 合 に は 、 シ ェ ル の 起 動 時 刻 後 に フ ァ イ ル が 変 更 さ れ な い 限 り 、 ど の メ ー ル フ ァ イ ル も 報 告 さ れ ま せ ん 。 こ れ は 、 余 計 に 通 知 し な い よ う に す る た め で す 。 大 部 分 の login プ ロ グ ラ ム で は 、 ロ グ イ ン 時 に メ ー ル が 届 い て い る か ど う か を 教 え て く れ る も の で す 。

mail で 指 定 さ れ た フ ァ イ ル が デ ィ レ ク ト リ で あ る 場 合 、 シ ェ ル は 、 デ ィ レ ク ト リ 中 の 各 フ ァ イ ル を 別 々 の メ ッ セ ー ジ と し て 計 算 し 、 ’You have n mails.’ と か ’You have n mails in name.’ と か と 適 切 に 報 告 し ま す 。 こ の 機 能 は 、 主 に Andrew Mail System の よ う に 、 メ ー ル を こ の 方 式 で 保 存 す る シ ス テ ム 用 に 提 供 さ れ た も の で す 。

mail の 最 初 の 単 語 が 数 値 で あ る 場 合 、 そ れ は メ ー ル チ ェ ッ ク の 間 隔 を 変 え る も の と し て 受 け 取 ら れ ま す 。 秒 単 位 で す 。 と て も 稀 な 状 況 下 で す が 、 シ ェ ル が ’You have new mail.’ で は な く ’You have mail.’ と 報 告 す る こ と が あ り ま す 。

matchbeep (+) こ れ が ’never’ に 設 定 さ れ て い る 場 合 、 補 完 が 行 わ れ て も ビ ー プ 音 は 鳴 り ま せ ん 。 ’nomatch’ に 設 定 さ れ て い る 場 合 、 マ ッ チ す る も の が な い と き に の み ビ ー プ 音 が 鳴 り ま す 。 ’ambiguous’ に 設 定 さ れ て い る 場 合 、 マ ッ チ す る も の が 複 数 あ る と き に ビ ー プ 音 が 鳴 り ま す 。 ’notunique’ に 設 定 さ れ て い る 場 合 、 完 全 に マ ッ チ す る も の が 1 つ あ り 、 ま た 、 そ れ と は 別 に も っ と 長 く マ ッ チ す る も の が あ っ た と き に ビ ー プ 音 が 鳴 り ま す 。 こ れ が 設 定 さ れ て い な い 場 合 、 ’ambiguous’ が 使 わ れ ま す 。
nobeep
(+) こ れ が 設 定 さ れ て い る 場 合 、 ビ ー プ 音 は 完 全 に 無 効 に な り ま す 。 visiblebell も 参 照 し て く だ さ い 。
noclobber
こ れ が 設 定 さ れ て い る 場 合 、 出 力 リ ダ イ レ ク シ ョ ン に 制 限 が お か れ る よ う に な り 、 入 出 力 セ ク シ ョ ン で 述 べ て い る よ う に 、 フ ァ イ ル を う っ か り 壊 さ な い よ う に 、 ま た 、 ’>>’ リ ダ イ レ ク シ ョ ン が 存 在 す る フ ァ イ ル を 指 す よ う に 保 証 で き ま す 。

noding

prompt の 時 刻 指 定 子 に お い て 、 時 間 の 変 わ り 目 に ’DING!’ と 表 示 す る の を 無 効 に し ま す 。

noglob

こ れ が 設 定 さ れ て い る 場 合 、 フ ァ イ ル 名 置 換 お よ び 、 デ ィ レ ク ト リ ス タ ッ ク 置 換 (そ ち ら も 参 照 ) が 禁 止 さ れ ま す 。 こ の 機 能 は 、 フ ァ イ ル 名 を 扱 わ な い シ ェ ル ス ク リ プ ト や 、 フ ァ イ ル 名 の リ ス ト を 取 得 し た 後 、 さ ら に 展 開 を さ れ た く な い ス ク リ プ ト に は 最 も 有 効 な も の で す 。

nokanji (+) こ れ が 設 定 さ れ て お り 、 シ ェ ル が 漢 字 を サ ポ ー ト し て い る 場 合 (シ ェ ル 変 数 version を 参 照 )、 漢 字 の サ ポ ー ト を 無 効 に し 、 メ タ キ ー が 使 え る よ う に し ま す 。
nonomatch
こ れ が 設 定 さ れ て い る 場 合 、 フ ァ イ ル 名 置 換 お よ び デ ィ レ ク ト リ ス タ ッ ク 置 換 (そ ち ら も 参 照 ) の 際 に 、 存 在 す る フ ァ イ ル に マ ッ チ し な か っ た と き に 、 エ ラ ー を 出 さ ず に そ の ま ま 放 置 す る よ う に な り ま す 。 置 換 が 機 能 し な い と き に は 相 変 わ ら ず エ ラ ー に な り ま す 。 た と え ば 、 ’echo [’ は 相 変 わ ら ず エ ラ ー と な り ま す 。
nostat
(+) 補 完 処 理 が 行 わ れ て い る 間 に stat(2) を か け る べ き で は な い デ ィ レ ク ト リ の リ ス ト (あ る い は 、 デ ィ レ ク ト リ に マ ッ チ す る グ ロ ブ パ タ ー ン で す 。 フ ァ イ ル 名 置 換 を 参 照 ) で す 。 こ の 機 能 は 、 stat(2) を 実 行 す る と と て つ も な い 時 間 が か か っ て し ま う よ う な デ ィ レ ク ト リ 、 た と え ば /afs な ど を 除 外 す る の に 通 常 使 わ れ ま す 。

notify こ れ が 設 定 さ れ て い る 場 合 、 シ ェ ル は ジ ョ ブ が 完 了 し た こ と を 非 同 期 に 通 知 し ま す 。 デ フ ォ ル ト は 、 プ ロ ン プ ト が 表 示 さ れ る 直 前 に ジ ョ ブ の 完 了 を 提 示 し ま す 。

oid (+) ユ ー ザ の 実 組 織

ID で す (Domain/OS の み で す )。

owd (+) 前 の 作 業 デ ィ レ ク ト リ で 、

cd が 使 う ’−’ お よ び pushd と 等 価 で す 。

cwd お よ び dirstack シ ェ ル 変 数 も 参 照 し て く だ さ い 。

path 実 行 可 能 な コ マ ン ド を 探 す デ ィ レ ク ト リ の リ ス ト で す 。

null 文 字 は

カ レ ン ト デ ィ レ ク ト リ を 示 し ま す 。 path 変 数 が な い 場 合 、 フ ル パ ス 名 で の 指 定 の み 実 行 さ れ ま す 。 path は 、 起 動 時 に シ ェ ル が 環 境 変 数 PATH か ら 設 定 す る か 、 あ る い は PATH が 存 在 し な か っ た 場 合 に は 、 シ ス テ ム 依 存 の デ フ ォ ル ト 、 た と え ば ’(/usr/local/bin /usr/bsd /bin /usr/bin .)’ の よ う な も の に 設 定 し ま す 。 シ ェ ル は 、 ’.’ を path の 先 頭 あ る い は 末 尾 に 置 く こ と が で き 、 ま た 、 コ ン パ イ ル の 仕 方 に 依 存 し ま す が 、 ’.’ を 完 全 に 省 い て し ま う こ と も で き ま す 。 −c, −t オ プ シ ョ ン の ど ち ら も 与 え ら れ て い な い シ ェ ル は 、 ~/.tcshrc を 読 み 込 ん だ 後 お よ び path が リ セ ッ ト さ れ る た び に デ ィ レ ク ト リ の 中 身 を ハ ッ シ ュ に 格 納 し ま す 。 シ ェ ル が ア ク テ ィ ブ で あ る 間 に 、 ユ ー ザ が path 中 の デ ィ レ ク ト リ に 新 し い コ マ ン ド を 追 加 し た 場 合 、 シ ェ ル が そ の コ マ ン ド を 見 つ け ら れ る よ う に rehash を 実 行 す る 必 要 が あ る か も し れ ま せ ん 。

printexitvalue (+) こ れ が 設 定 さ れ て お り 、 対 話 型 の プ ロ グ ラ ム が 0 以 外 の ス テ ー タ ス で 終 了 し た 場 合 、 シ ェ ル は ’Exit status’ と 表 示 し ま す 。

prompt 端 末 か ら コ マ ン ド を 読 み 込 む 前 に 表 示 さ れ る 文 字 列 で す 。

prompt

は 、 次 の フ ォ ー マ ッ ト 列 (+) の ど れ を 含 ん で も 構 い ま せ ん 。 こ の フ ォ ー マ ッ ト 列 は 、 与 え ら れ た 情 報 で 書 き 換 え ら れ ま す 。

%/ カ レ ン ト 作 業 デ ィ レ ク ト リ で す 。

%~ カ レ ン ト 作 業 デ ィ レ ク ト リ で す が 、

’~’ で 表 現 さ れ る ユ ー ザ の

ホ ー ム デ ィ レ ク ト リ お よ び ’~user’ で 表 現 さ れ る 他 の ユ ー ザ の ホ ー ム デ ィ レ ク ト リ を フ ァ イ ル 名 置 換 し ま す 。 ’~user’ の 置 換 は 、 現 在 の セ ッ シ ョ ン に お い て 、 シ ェ ル が パ ス 名 に ’~user’ を 使 っ て い る 場 合 に の み 起 こ り ま す 。

%c[[0]n], %.[[0]n] 現 在 の 作 業 デ ィ レ ク ト リ の 、 末 尾 の 要 素 で す 。 数 字 n が 指 定 さ れ て い る 場 合 、 末 尾 の n 個 の 要 素 で す 。 n が ’0’ で 開 始 す る 場 合 、 ス キ ッ プ さ れ た 要 素 数 が 末 尾 要 素 の 前 に 付 き 、 次 の 書 式 と な り ま す ’/<ス キ ッ プ さ れ た 数 >末 尾 要 素 ’。 シ ェ ル 変 数 ellipsis が 設 定 さ れ て い る 場 合 、 ス キ ッ プ さ れ た 要 素 は 省 略 記 号 で 置 換 さ れ ま す の で 、 全 体 的 に は ’...末 尾 要 素 ’ と な り ま す 。 ’~’ 置 換 は 、 前 述 の ’%~’ と 同 様 に 行 わ れ ま す が 、 ’~’ 要 素 は 、 末 尾 要 素 数 を 数 え る 対 象 か ら は 除 外 さ れ ま す 。

%C

%c に 似 て い ま す が 、 ’~’ の 置 換 を 行 い ま せ ん 。

%h, %!, ! 現 在 の ヒ ス ト リ イ ベ ン ト 番 号 で す 。

%M 完 全 な ホ ス ト 名 で す 。

%m 最 初 の

’.’ ま で の ホ ス ト 名 で す 。
%S (%s) 強 調 表 示 モ ー ド を 開 始 (終 了 ) し ま す 。
%B (%b) ボ ー ル ド 体 表 示 モ ー ド を 開 始 (終 了 ) し ま す 。
%U (%u) ア ン ダ ラ イ ン モ ー ド を 開 始 (終 了 ) し ま す 。
%t, %@

AM/PM の 12 時 間 表 記 で の 時 刻 で す 。

%T

’%t’ に 似 て い ま す が 、 こ ち ら は 24 時 間 表 記 で す (た だ し 、 シ ェ ル 変 数 ampm も 参 照 )。

%p

秒 ま で 含 め た 、 AM/PM の 12 時 間 表 記 で の ’正 確 な ’ 時 刻 で す 。
%P

’%p’ に 似 て い ま す が 、 こ ち ら は 24 時 間 表 記 で す (た だ し 、 シ ェ ル 変 数 ampm も 参 照 )。

\c

cbindkey 中 に あ る も の と し て パ ー ス さ れ ま す 。

^c

cbindkey 中 に あ る も の と し て パ ー ス さ れ ま す 。

%%

’%’ 1 つ で す 。

%n

ユ ー ザ 名 で す 。

%d

’Day’ 形 式 の 曜 日 。

%D

’dd’ 形 式 の 日 に ち 。

%w

’Mon’ 形 式 の 月 。

%W

’mm’ 形 式 の 月 。

%y

’yy’ 形 式 の 年 。

%Y

’yyyy’ 形 式 の 年 。

%l

シ ェ ル の tty。
%L プ ロ ン プ ト

の 終 わ り か ら 、 デ ィ ス プ レ イ の 終 わ り ま た は 行 末 ま で ク リ ア し ま す 。

%$

’$’ の 直 後 の シ ェ ル 変 数 ま た は 環 境 変 数 を 展 開 し ま す 。

%#

普 通 の ユ ー ザ は ’>’ (ま た は promptchars シ ェ ル 変 数 の 最 初 の 文 字 )、 ス ー パ ー ユ ー ザ は ’#’ (ま た は promptchars の 2 番 目 の 文 字 )。

%{string%}

string を 文 字 通 り の エ ス ケ ー プ シ ー ケ ン ス と し て 取 り 込 み ま す 。 こ れ は 端 末 属 性 を 変 更 す る た め に の み 使 う べ き で 、 カ ー ソ ル 位 置 の 移 動 を こ れ で 行 っ て は い け ま せ ん 。 こ れ は prompt の 最 後 の シ ー ケ ン ス で あ っ て は い け ま せ ん 。

%? プ ロ ン プ ト の 直 前 で 実 行 さ れ た コ マ ン ド の 戻 り 値 。

%R

prompt2 の 中 で は パ ー ザ の 状 態 。 prompt3 の 中 で は 修 正 さ れ た 文 字 列 。 history の 中 で は 履 歴 文 字 列 。

’%B’, ’%S’, ’%U’, ’%{string%}’ は 、 8bit ク リ ー ン な シ ェ ル で の み 利 用 で き ま す 。 version シ ェ ル 変 数 を 参 照 し て く だ さ い 。 ボ ー ル ド 、 ス タ ン ド ア ウ ト 、 下 線 と い っ た シ ー ケ ン ス は 、 ス ー パ ー ユ ー ザ の シ ェ ル を 区 別 す る た め に 使 わ れ る こ と が 多 い で す 。 た と え ば 、

>

set prompt = "%m [%h] %B[%@]%b [%/] you rang? "

tut [37] [2:54pm] [/usr/accts/sys] you rang? _

’%t’, ’%@’, ’%T’, ’%p’, ’%P’ の ど れ か が 使 わ れ て い て 、 か つ noding が 設 定 さ れ て い な け れ ば 、 毎 正 時 (’:00’ 分 ) に は 実 際 の 時 刻 の 代 わ り に ’DING!’ を 表 示 し ま す 。 対 話 的 シ ェ ル で の デ フ ォ ル ト は ’%# ’ で す 。

prompt2 (+)

while ル ー プ や foreach ル ー プ の 中 で 、 ま た ’\’ で 終 っ た 行 の 次 の 行 で 、 プ ロ ン プ ト と し て 用 い ら れ る 文 字 列 。 prompt (そ ち ら も 参 照 ) と 同 じ フ ォ ー マ ッ ト シ ー ケ ン ス が 使 え ま す 。 ’%R’ の 意 味 が 変 わ る こ と に 注 意 し て く だ さ い 。 対 話 的 シ ェ ル で の デ フ ォ ル ト は ’%R?’ で す 。

prompt3 (+) 自 動 ス ペ ル 訂 正 の 確 定 時 の プ ロ ン プ ト 文 字 列 。 prompt (そ ち ら も 参 照 ) と 同 じ フ ォ ー マ ッ ト シ ー ケ ン ス が 使 え ま す 。 ’%R’ の 意 味 が 変 わ る こ と に 注 意 し て く だ さ い 。 対 話 的 シ ェ ル で の デ フ ォ ル ト は ’CORRECT>%R (y|n|e|a)?’ で す 。
promptchars
(+)

(2 文 字 の 文 字 列 に ) 設 定 す る と 、 prompt シ ェ ル 変 数 中 の ’%#’ フ ォ ー マ ッ ト シ ー ケ ン ス が 、 普 通 の ユ ー ザ で は 最 初 の 文 字 で 、 ス ー パ ー ユ ー ザ で は 2 番 目 の 文 字 で 置 き 換 え ら れ ま す 。

pushdtohome (+) 設 定 す る と 、 引 数 を と ら な い pushd は 、 cd の よ う に ’pushd ~’ を 実 行 し ま す 。
pushdsilent
(+) 設 定 す る と 、 pushdpopd の 際 に デ ィ レ ク ト リ ス タ ッ ク が 表 示 さ れ な く な り ま す 。
recexact
(+) 設 定 す る と 、 補 完 の 際 に 正 確 な マ ッ チ が あ れ ば 、 よ り 長 い マ ッ チ が 可 能 な 場 合 で も 、 正 確 な ほ う に 補 完 し ま す 。
recognize_only_executables
(+) 設 定 す る と 、 コ マ ン ド リ ス ト は パ ス 中 に あ る 実 行 可 能 な フ ァ イ ル の み を 表 示 し ま す 。 遅 い で す 。
rmstar
(+) 設 定 す る と 、 ユ ー ザ は ’rm *’ を 実 行 す る 前 に 確 認 を 受 け ま す 。
rprompt
(+)

(コ マ ン ド 入 力 後 ) prompt が 左 に 表 示 さ れ る 際 に 、 ス ク リ ー ン の 右 側 (コ マ ン ド 入 力 の 後 ろ 側 ) に 表 示 さ れ る 文 字 列 。 prompt と 同 じ フ ォ ー マ ッ ト 文 字 列 が 使 え ま す 。 こ の 文 字 列 は 、 コ マ ン ド 入 力 を 邪 魔 し な い よ う に 自 動 的 に 隠 れ た り 、 ま た 再 度 現 れ た り し ま す 。 (左 側 の ) プ ロ ン プ ト 、 コ マ ン ド 入 力 、 こ の 文 字 列 が 最 初 の 1 行 に 収 ま る 場 合 に 限 り 、 こ の 文 字 列 は 表 示 さ れ ま す 。 edit が 設 定 さ れ て い な け れ ば 、 rprompt は プ ロ ン プ ト の 後 、 コ マ ン ド 入 力 の 前 に 表 示 さ れ ま す 。

savedirs (+) 設 定 す る と 、 シ ェ ル は 終 了 す る 前 に ’dirs −S’ を 行 い ま す 。 最 初 の 単 語 を 数 字 に 設 定 す る と 、 そ の 個 数 ま で デ ィ レ ク ト リ ス タ ッ ク の エ ン ト リ を 保 存 し ま す 。
savehist
設 定 す る と 、 シ ェ ル は 終 了 す る 前 に ’history −S’ を 行 い ま す 。 最 初 の 単 語 を 数 字 に 設 定 す る と 、 そ の 個 数 ま で の 行 が 保 存 さ れ ま す 。 (個 数 は history 以 下 で な け れ ば な り ま せ ん 。 ) 2 番 目 の 単 語 を ’merge’ に す る と 、 履 歴 フ ァ イ ル が 存 在 す る 場 合 に 、 置 換 で は な く 追 加 を 行 い ま す 。 そ し て タ イ ム ス タ ン プ に よ っ て ソ ー ト を 行 い 、 最 近 の イ ベ ン ト を 残 し ま す 。 (+)
sched
(+)

sched 組 み 込 み コ マ ン ド が ス ケ ジ ュ ー ル イ ベ ン ト を 表 示 す る 書 式 。 特 に 指 定 し な け れ ば ’%h\t%T\t%R\n’ が 使 わ れ ま す 。 フ ォ ー マ ッ ト シ ー ケ ン ス は 上 記 の prompt 以 下 に 書 い て あ り ま す 。 ’%R’ の 意 味 が 変 わ る こ と に 注 意 し て く だ さ い 。

shell シ ェ ル の フ ァ イ ル 。 こ れ は シ ェ ル を フ ォ ー ク し て 、 実 行 ビ ッ ト が 設 定 さ れ て い る が シ ス テ ム に よ る 実 行 が 不 可 能 な フ ァ イ ル を 実 行 す る た め に 用 い ら れ ま す

(組 み 込 み コ マ ン ド 、 非 組 み 込 み コ マ ン ド の 実 行 を 参 照 )。 初 期 値 は 、 (シ ス テ ム 依 存 の ) シ ェ ル の 置 き 場 所 で す 。
shlvl
(+) 入 れ 子 に な っ た シ ェ ル の 数 。 ロ グ イ ン シ ェ ル で は 1 に リ セ ッ ト さ れ ま す 。 loginsh も 参 照 し て く だ さ い 。

status 最 後 の コ マ ン ド に よ っ て 返 さ れ た 状 態 。 コ マ ン ド が 異 常 終 了 し た 場 合 に は

0200 が 加 え ら れ ま す 。 組 み 込 み コ マ ン ド は 、 失 敗 す る と 終 了 状 態 ’1’ を 返 し ま す 。 そ の 他 の 場 合 は 、 す べ て の 組 み 込 み コ マ ン ド は 状 態 ’0’ を 返 し ま す 。
symlinks
(+) い く つ か 異 な っ た 値 に 設 定 で き 、 シ ン ボ リ ッ ク リ ン ク (’symlink’) の 解 決 を 制 御 で き ま す 。

’chase’ に 設 定 す る と 、 カ レ ン ト デ ィ レ ク ト リ が シ ン ボ リ ッ ク リ ン ク を 含 む デ ィ レ ク ト リ に な っ た ら 、 リ ン ク を そ れ が 指 し て い る デ ィ レ ク ト リ の 実 名 に 展 開 し ま す 。 こ の 機 能 は ユ ー ザ の ホ ー ム デ ィ レ ク ト リ で は 働 き ま せ ん 。 こ れ は バ グ で す 。

’ignore’ に す る と 、 こ の シ ェ ル は リ ン ク を 通 っ て カ レ ン ト デ ィ レ ク ト リ を 移 動 す る 場 合 、 移 動 先 の デ ィ レ ク ト リ を 現 在 の デ ィ レ ク ト リ に 対 す る 相 対 位 置 と し て 構 築 し よ う と し ま す 。 こ れ は す な わ ち 、 シ ン ボ リ ッ ク リ ン ク を 通 し て cd を 行 い 、 続 い て ’cd ..’ を 行 う と 、 元 の デ ィ レ ク ト リ に 戻 る 、 と い う こ と を 意 味 し ま す 。 こ れ は 組 み 込 み コ マ ン ド と フ ァ イ ル 名 補 完 に の み 影 響 し ま す 。

’expand’ に 設 定 す る と 、 シ ェ ル は パ ス 名 の よ う に 見 え る 引 き 数 を 実 際 に 展 開 し て 、 シ ン ボ リ ッ ク リ ン ク を 元 に 戻 そ う と し ま す 。 こ れ は 組 み 込 み コ マ ン ド の み な ら ず 、 す べ て の コ マ ン ド に 影 響 し ま す 。 残 念 な が ら 、 こ れ は 認 識 し に く い フ ァ イ ル 名 (た と え ば コ マ ン ド オ プ シ ョ ン に 埋 め こ ま れ た も の な ど ) に は 動 作 し ま せ ん 。 ク ォ ー ト す れ ば 展 開 は 行 わ れ ま せ ん 。 た い て い の 場 合 は こ の 設 定 が 便 利 で す が 、 展 開 す べ き 引 き 数 を 認 識 で き な い と 、 誤 解 や 混 乱 の 元 に な る か も し れ ま せ ん 。 妥 協 案 と し て 、 ’ignore’ に し て お い て 、 必 要 な 場 合 に は 編 集 コ マ ン ド normalize-path (デ フ ォ ル ト で は ^X-n に バ イ ン ド さ れ て い ま す ) を 使 う の が い い か も し れ ま せ ん 。 順 に い く つ か 例 を 示 し ま す 。 ま ず は 遊 び 場 と な る デ ィ レ ク ト リ を 準 備 し ま し ょ う 。

>

cd /tmp

> mkdir from from/src to > ln −s from/src to/dst

symlinks が 設 定 さ れ て い な い 場 合 の 動 作 :

>

cd /tmp/to/dst; echo $cwd

/tmp/to/dst > cd ..; echo $cwd
/tmp/from

symlinks が ’chase’ に 設 定 さ れ て い る 場 合 の 動 作 :

>

cd /tmp/to/dst; echo $cwd

/tmp/from/src > cd ..; echo $cwd
/tmp/from

symlinks が ’ignore’ に 設 定 さ れ て い る 場 合 の 動 作 :

>

cd /tmp/to/dst; echo $cwd

/tmp/to/dst > cd ..; echo $cwd
/tmp/to

symlinks が ’expand’ に 設 定 さ れ て い る 場 合 の 動 作 :

>

cd /tmp/to/dst; echo $cwd

/tmp/to/dst > cd ..; echo $cwd
/tmp/to > cd /tmp/to/dst; echo $cwd
/tmp/to/dst > cd ".."; echo $cwd
/tmp/from > /bin/echo ..
/tmp/to > /bin/echo ".."
.. い く つ か 注 意 し ま す と 、 ’expand’ に よ る 展 開 は 、 1) cd の よ う な 組 み 込 み コ マ ン ド に 対 し て は ’ignore’ の よ う に 働 き ま す 。 2) ク ォ ー ト す れ ば 行 わ れ ま せ ん 。 3) 非 組 み 込 み コ マ ン ド の 場 合 は 、 フ ァ イ ル 名 を 渡 す 前 に 行 わ れ ま す 。

tcsh (+)

’R.VV.PP’ 形 式 の シ ェ ル の バ ー ジ ョ ン 番 号 で す 。 ’R’ は メ ジ ャ ー リ リ ー ス 番 号 、 ’VV’ は カ レ ン ト バ ー ジ ョ ン 、 ’PP’ は パ ッ チ レ ベ ル で す 。

term 端 末 の 種 類 。 ス タ ー ト ア ッ プ と シ ャ ッ ト ダ ウ ン で 述 べ て い る よ う に 、 通 常 は

~/.login で 設 定 さ れ ま す 。

time 数 値 を 設 定 す る と 、 そ れ 以 上 の

CPU 時 間 (秒 ) を 消 費 し た コ マ ン ド の

実 行 後 に 、 自 動 的 に 組 み 込 み コ マ ン ド time (そ ち ら も 参 照 ) を 実 行 し ま す 。 2 番 目 の 単 語 が あ れ ば 、 time 組 み 込 み コ マ ン ド の 出 力 フ ォ ー マ ッ ト 文 字 列 と し て 使 わ れ ま す 。 (u) 以 下 の シ ー ケ ン ス が フ ォ ー マ ッ ト 文 字 列 で 使 え ま す 。

%U プ ロ セ ス が ユ ー ザ モ ー ド で 消 費 し た

CPU 時 間 (秒 )。

%S プ ロ セ ス が カ ー ネ ル モ ー ド で 消 費 し た

CPU 時 間 (秒 )。

%E

(壁 時 計 で の ) 経 過 時 間 (秒 )。

%P

(%U + %S) / %E と し て 計 算 さ れ る CPU 使 用 率 。

%W

プ ロ セ ス が ス ワ ッ プ さ れ た 回 数 。

%X

(共 有 ) テ キ ス ト 空 間 の 平 均 使 用 量 。 Kbyte 単 位 。

%D

(非 共 有 ) デ ー タ /ス タ ッ ク 空 間 の 平 均 使 用 量 。 Kbyte 単 位 。

%K

(%X + %D) の 総 使 用 量 。 Kbyte 単 位 。

%M

プ ロ セ ス が 使 用 し た メ モ リ の 瞬 間 最 大 値 。 Kbyte 単 位 。
%F メ ジ ャ ー ペ ー ジ フ ォ ー ル ト の 回 数 (デ ィ ス ク か ら 取 っ て 来 る 必 要

が あ っ た ペ ー ジ 数 )。

%R マ イ ナ ー ペ ー ジ フ ォ ー ル ト の 回 数 。

%I 入 力 操 作 の 回 数 。

%O 出 力 操 作 の 回 数 。

%r ソ ケ ッ ト メ ッ セ ー ジ を 受 け 取 っ た 回 数 。

%s ソ ケ ッ ト メ ッ セ ー ジ を 送 っ た 回 数 。

%k シ グ ナ ル を 受 け 取 っ た 回 数 。

%w 自 発 的 な コ ン テ キ ス ト ス イ ッ チ の 回 数

(wait の 回 数 )。

%c 非 自 発 的 な コ ン テ キ ス ト ス イ ッ チ の 回 数

BSD 資 源 制 限 機 能 の 無 い シ ス テ ム で は 、 最 初 の 4 つ の シ ー ケ ン ス だ け が サ ポ ー ト さ れ て い ま す 。 デ フ ォ ル ト の 時 間 フ ォ ー マ ッ ト は 、 資 源 使 用 報 告 を サ ポ ー ト し て い る シ ス テ ム で は ’%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww’ で 、 そ う で な い シ ス テ ム で は ’%Uu %Ss %E %P’ で す 。

Sequent の DYNIX/ptx で は 、 %X, %D, %K, %r, %s が 使 え ま せ ん が 、 以 下 の 追 加 シ ー ケ ン ス が 利 用 で き ま す 。

%Y シ ス テ ム コ ー ル が 実 行 さ れ た 回 数 。

%Z 要 求 に 応 じ て ゼ ロ で 埋 め ら れ た ペ ー ジ 数 。

%i プ ロ セ ス の 常 駐 サ イ ズ が カ ー ネ ル に よ っ て 増 加 さ せ ら れ た 回 数 。

%d プ ロ セ ス の 常 駐 サ イ ズ が カ ー ネ ル に よ っ て 減 少 さ せ ら れ た 回 数 。

%l

read シ ス テ ム コ ー ル が 実 行 さ れ た 回 数 。

%m

write シ ス テ ム コ ー ル が 実 行 さ れ た 回 数 。

%p

raw デ ィ ス ク 装 置 か ら 読 み 込 ん だ 回 数 。

%q

raw デ ィ ス ク 装 置 へ 書 き 込 ん だ 回 数 。

デ フ ォ ル ト の 時 間 フ ォ ー マ ッ ト は ’%Uu %Ss $E %P %I+%Oio %Fpf+%Ww’ で す 。 マ ル チ プ ロ セ ッ サ で は CPU 使 用 率 が 100% よ り 高 く な る こ と が あ り ま す 。

tperiod (+) 特 別 な エ イ リ ア ス periodic の 実 行 さ れ る 周 期 (分 単 位 )。

tty (+)

tty の 名 前 。 端 末 に ア タ ッ チ さ れ て い な い 場 合 は 空 。

uid (+)

ユ ー ザ の 実 ユ ー ザ ID。
user
ユ ー ザ の ロ グ イ ン 名

(あ れ ば ) 表 示

verbose 設 定 す る と 、 ヒ ス ト リ 置 換 後 に 、 各 コ マ ン ド の 単 語 を

し ま す 。 コ マ ン ド ラ イ ン オ プ シ ョ ン −v に よ っ て 設 定 さ れ ま す 。

version (+) バ ー ジ ョ ン ID ス タ ン プ 。 シ ェ ル の バ ー ジ ョ ン 番 号 (tcsh を 参 照 ) 、 配 布 元 、 リ リ ー ス 日 、 ベ ン ダ ー 、 オ ペ レ ー テ ィ ン グ シ ス テ ム 、 マ シ ン (VENDOR, OSTYPE, MACHTYPE を 参 照 )、 コ ン パ イ ル 時 に 設 定 さ れ た オ プ シ ョ ン を カ ン マ で 区 切 っ た リ ス ト か ら な り ま す 。 デ ィ ス ト リ ビ ュ ー シ ョ ン の デ フ ォ ル ト と し て セ ッ ト さ れ た オ プ シ ョ ン が 記 録 さ れ て い ま す 。

8b シ ェ ル は

8bit ク リ ー ン 。 デ フ ォ ル ト 。

7b シ ェ ル は

8bit ク リ ー ン で な い 。

nls シ ス テ ム の

NLS を 使 う 。 NLS の あ る シ ス テ ム で は デ フ ォ ル ト 。

lf ロ グ イ ン シ

ェ ル は /etc/csh.cshrc の 後 で は な く 先 に /etc/csh.login を 実 行 し 、 ~/.tcshrc~/.history の 後 で は な く 先 に ~/.login を 実 行 す る 。

dl

セ キ ュ リ テ ィ 上 の 理 由 か ら ’.’ を path の 最 後 に 置 く 。 デ フ ォ ル ト 。

nd

セ キ ュ リ テ ィ 上 の 理 由 か ら ’.’ を path に 含 め な い 。
vi

emacs-形 式 で は な く vi-形 式 の 編 集 を デ フ ォ ル ト に す る 。

dtr

ロ グ イ ン シ ェ ル は 終 了 時 に DTR を 落 と す 。
bye

byelogout の 同 義 語 と し 、 logwatchlog の 別 名 と し て 扱 う 。

al

autologout を 有 効 に す る 。 デ フ ォ ル ト 。

kan

nokanji シ ェ ル 変 数 が 設 定 さ れ な い 限 り 、 ロ ケ ー ル 設 定 が 適 切 で あ れ ば 、 漢 字 を 使 う 。

sm

シ ス テ ム の malloc(3) を 使 う 。

hb シ ェ ル ス ク リ

プ ト の 実 行 時 に ’#!<program> <args>’ 方 式 を エ ミ ュ レ ー ト す る 。
ng

newgrp 組 み 込 み コ マ ン ド が 利 用 可 能 。

rh

シ ェ ル は REMOTEHOST 環 境 変 数 を 設 定 し よ う と す る 。

afs シ ェ ル は も

し ロ ー カ ル な 認 証 が 失 敗 し た ら 、 kerberos サ ー バ に パ ス ワ ー ド を 確 認 す る 。 afsuser シ ェ ル 変 数 か AFSUSER 環 境 変 数 が 設 定 さ れ て い た ら 、 そ の 内 容 で ロ ー カ ル ユ ー ザ 名 を 上 書 き す る 。 シ ス テ ム 管 理 者 は 、 文 字 列 を 追 加 し て ロ ー カ ル バ ー ジ ョ ン で の 違 い を 示 す よ う に で き ま す 。

visiblebell (+) 設 定 す る と 、 音 声 ベ ル の 代 わ り に 画 面 を フ ラ ッ シ ュ し ま す 。 nobeep も 参 照 し て く だ さ い 。
watch
(+) ロ グ イ ン / ロ グ ア ウ ト の 監 視 対 象 と す る 、 「 ユ ー ザ / 端 末 」 ペ ア の リ ス ト 。 ユ ー ザ に 対 す る 端 末 が ’any’ な ら 、 指 定 し た ユ ー ザ を す べ て の 端 末 で 監 視 し ま す 。 逆 に ユ ー ザ が ’any’ な ら 、 指 定 し た 端 末 で す べ て の ユ ー ザ を 監 視 し ま す 。 watch を ’(any any)’ に 設 定 す る と 、 す べ て の ユ ー ザ と 端 末 を 監 視 し ま す 。 た と え ば 、

set watch = (george ttyd1 any console $user any) は 、 ユ ー ザ ’george’ の ttyd1 で の 行 動 を 、 そ し て あ ら ゆ る ユ ー ザ の コ ン ソ ー ル で の 行 動 を 、 そ し て 自 分 自 身 (ま た は 不 法 侵 入 者 ) の す べ て の 端 末 で の 行 動 を 報 告 し ま す 。 デ フ ォ ル ト で は 、 ロ グ イ ン と ロ グ ア ウ ト は 10 分 毎 に 調 べ ら れ ま す が 、 watch の 最 初 の 単 語 に 、 調 べ る 間 隔 を 分 単 位 で 書 く こ と も で き ま す 。 た と え ば 、

set watch = (1 any any) は 1 分 お き に あ ら ゆ る ロ グ イ ン / ロ グ ア ウ ト を 報 告 し ま す 。 我 慢 の 効 か な い 人 は 、 log 組 み 込 み コ マ ン ド を 用 い れ ば 、 い つ で も watch の レ ポ ー ト を 見 る こ と が で き ま す 。 watch が 最 初 に 設 定 さ れ た 時 に は 、 現 在 ロ グ イ ン し て い る ユ ー ザ リ ス ト が (log 組 み 込 み コ マ ン ド に よ っ て ) 報 告 さ れ ま す 。

watch の 報 告 形 式 は who シ ェ ル 変 数 で 制 御 し ま す 。

who (+)

watch メ ッ セ ー ジ の フ ォ ー マ ッ ト 文 字 列 。 以 下 の シ ー ケ ン ス が 得 ら れ た 情 報 で 置 換 さ れ ま す 。

%n ロ グ イ ン

/ ロ グ ア ウ ト し た ユ ー ザ の 名 前 。

%a 観 察 さ れ た

行 動 : ’logged on’, ’logged off’, ’replaced olduser on’ の い ず れ か 。

%l

ユ ー ザ が ロ グ イ ン / ロ グ ア ウ ト し た 端 末 (tty)。

%M リ モ ー ト ホ ス ト の 完

全 な ホ ス ト 名 。 ロ ー カ ル ホ ス ト で の ロ グ イ ン / ロ グ ア ウ ト の 場 合 は ’local’。

%m

リ モ ー ト ホ ス ト の 、 最 初 の ’.’ ま で の ホ ス ト 名 。 IP ア ド レ ス や X Window System デ ィ ス プ レ イ の 場 合 は 名 前 全 体 。

%M と %m は /etc/utmp に リ モ ー ト ホ ス ト 名 を 格 納 す る シ ス テ ム で の み 利 用 で き ま す 。 設 定 し な け れ ば ’%n has %a %l from %m.’ が 用 い ら れ ま す 。 た だ し リ モ ー ト ホ ス ト 名 を 格 納 し な い シ ス テ ム で は ’%n has %a %l.’ が 用 い ら れ ま す 。

wordchars (+)

forward-word, backward-word 等 の 編 集 コ マ ン ド で 、 単 語 の 一 部 と み な さ れ る 非 英 数 文 字 の リ ス ト 。 設 定 さ れ な け れ ば ’*?_−.[]~=’ が 使 わ れ ま す 。

環 境 変 数

AFSUSER (+)

afsuser シ ェ ル 変 数 と 同 じ で す 。

COLUMNS 端 末 の 桁 数 で す

(端 末 管 理 を 参 照 )。

DISPLAY

X Window System に よ っ て 使 わ れ ま す (X(1) を 参 照 )。 設 定 さ れ る と 、 こ の シ ェ ル は autologout (そ ち ら も 参 照 ) を 設 定 し ま せ ん 。

EDITOR デ フ ォ ル ト の エ デ ィ タ の パ ス 名 で す 。

VISUAL 環 境 変 数 と

run-fg-editor 編 集 コ マ ン ド も 参 照 し て く だ さ い 。

GROUP (+)

group シ ェ ル 変 数 と 同 じ で す 。

HOME

home シ ェ ル 変 数 と 同 じ で す 。

HOST (+) シ ェ ル が 実 行 さ れ て い る マ シ ン の 名 前 で 初 期 化 さ れ ま す 。 こ れ は gethostname(2) シ ス テ ム コ ー ル で 決 定 さ れ ま す 。
HOSTTYPE
(+) シ ェ ル が 実 行 さ れ て い る マ シ ン の タ イ プ で 初 期 化 さ れ ま す 。 こ れ は コ ン パ イ ル 時 に 決 定 さ れ ま す 。 こ の 変 数 は 廃 止 さ れ る 予 定 で あ り 、 将 来 の バ ー ジ ョ ン で 削 除 さ れ る で し ょ う 。
HPATH
(+)

run-help 編 集 コ マ ン ド が コ マ ン ド の 解 説 文 書 を 探 す デ ィ レ ク ト リ の リ ス ト で す 。 区 切 り 文 字 は コ ロ ン で す 。

LANG 優 先 的 に 使 用 さ れ る 文 字 環 境 を 与 え ま す 。 固 有 言 語 シ ス テ ム の サ ポ ー ト を 参 照 し て く だ さ い 。

LC_CTYPE 設 定 さ れ て い る と 、 ctype キ ャ ラ ク タ の 扱 い だ け が 変 更 さ れ ま す 。 固 有 言 語 シ ス テ ム の サ ポ ー ト を 参 照 し て く だ さ い 。

LINES 端 末 の 行 数 で す 。 端 末 管 理 を 参 照 し て く だ さ い 。

LS_COLORS こ の 変 数 の フ ォ ー マ ッ ト は termcap(5) フ ァ イ ル の フ ォ ー マ ッ ト と 似 て い ま す 。 "xx=string" の 形 を し た 式 を コ ロ ン で 区 切 っ て 並 べ た リ ス ト で す 。 "xx" は 2 文 字 の 変 数 名 で す 。 変 数 と そ れ ら の デ フ ォ ル ト 値 は 以 下 の 通 り で す 。

no 0

Normal (non-filename) text: フ ァ イ ル 名 を 除 く 通 常 の テ キ ス ト

fi 0

Regular file: 通 常 の フ ァ イ ル

di 01;34

Directory: デ ィ レ ク ト リ

ln 01;36

Symbolic link: シ ン ボ リ ッ ク リ ン ク

pi 33

Named pipe (FIFO): 名 前 付 き パ イ プ

so 01;35

Socket: ソ ケ ッ ト

bd 01;33

Block device: ブ ロ ッ ク 型 デ バ イ ス

cd 01;32

Character device: キ ャ ラ ク タ 型 デ バ イ ス

ex 01;32

Executable file: 実 行 可 能 フ ァ イ ル

mi (none)

Missing file (defaults to fi): 行 方 不 明 の フ ァ イ ル

or (none)

Orphaned symbolic link (defaults to ln): リ ン ク 先 の な い シ ン ボ リ ッ ク リ ン ク

lc ^[[

Left code: 色 指 定 シ ー ケ ン ス 開 始 コ ー ド

rc m

Right code: 色 指 定 シ ー ケ ン ス 終 了 コ ー ド

ec (none)

End code (replaces lc+no+rc): 色 出 力 を 終 え る シ ー ケ ン ス デ フ ォ ル ト か ら 変 更 し た い 変 数 だ け を 指 定 す れ ば OK で す 。 フ ァ イ ル の 名 前 を 、 フ ァ イ ル 名 の 拡 張 子 を も と に 色 づ け す る こ と も で き ま す 。 こ れ の 指 定 は 、 LS_COLORS 変 数 に "*ext=string" の シ ン タ ッ ク ス を 用 い て 行 い ま す 。 た と え ば 、 ISO 6429 の コ ー ド を 使 い す べ て の C 言 語 の ソ ー ス フ ァ イ ル を ブ ル ー に 色 づ け す る に は "*.c=34" と 指 定 す れ ば よ い で し ょ う 。 こ れ は .c で 終 わ る す べ て の フ ァ イ ル を ブ ル ー (34) に 色 づ け し ま す 。 コ ン ト ロ ー ル キ ャ ラ ク タ は C ス タ イ ル の エ ス ケ ー プ 表 記 か stty の よ う な ^− 表 記 の ど ち ら か で 書 く こ と が で き ま す 。 C ス タ イ ル の 表 記 で は エ ス ケ ー プ コ ー ド の 記 述 に ^[, ス ペ ー ス コ ー ド の 記 述 に _, デ リ ー ト コ ー ド の 記 述 に ? を 追 加 し ま す 。 さ ら に 、 ^[ エ ス ケ ー プ キ ャ ラ ク タ を 用 い る と 、 ^[, ^, :, = の デ フ ォ ル ト の 解 釈 を 変 更 す る こ と が で き ま す 。 そ れ ぞ れ の フ ァ イ ル は <lc> <color-code> <rc> <filename> <ec> の よ う に 書 か れ ま す 。 <ec> が 未 定 義 な ら ば 、 <lc> <no> <rc> の シ ー ケ ン ス が 代 わ り に 使 わ れ ま す 。 こ ち ら の 方 が 通 常 便 利 に 使 え ま す が 、 あ ま り 一 般 的 で は あ り ま せ ん 。 left, right, end の コ ー ド を 用 意 し た 理 由 は 、 同 じ シ ー ケ ン ス を 繰 り 返 し 入 力 し な く て も い い よ う に 、 ま た 、 妙 な 端 末 に 対 応 で き る よ う に す る た め で す 。 通 常 は 、 ISO 6429 カ ラ ー シ ー ケ ン ス と 異 な る シ ス テ ム を 使 っ て い な い 限 り 、 こ れ ら を 変 更 す る 必 要 は ほ と ん ど あ り ま せ ん 。 端 末 が ISO 6429 color コ ー ド を 使 っ て い れ ば 、 (lc, rc, ec コ ー ド を 全 く 使 わ ず に ) セ ミ コ ロ ン で 区 切 ら れ た 数 字 の コ マ ン ド で タ イ プ コ ー ド を 構 成 す る こ と が で き ま す 。 良 く 用 い ら れ る コ マ ン ド は 以 下 の 通 り で す 。

0 デ フ ォ ル ト の 色 に 戻 し ま す 。

1 高 輝 度 色

4 ア ン ダ ラ イ ン 付 き テ キ ス ト

5 点 滅 テ キ ス ト

30 前 景 色 黒

31 前 景 色 赤

32 前 景 色 グ リ ー ン

33 前 景 色 黄

(ブ ラ ウ ン )

34 前 景 色 ブ ル ー

35 前 景 色 紫

36 前 景 色 シ ア ン

37 前 景 色 白

(グ レ ー )

40 背 景 色 黒

41 背 景 色 赤

42 背 景 色 グ リ ー ン

43 背 景 色 黄

(ブ ラ ウ ン )

44 背 景 色 ブ ル ー

45 背 景 色 紫

46 背 景 色 シ ア ン

47 背 景 色 白

(グ レ ー ) す べ て の コ マ ン ド が す べ て の シ ス テ ム や 表 示 装 置 で 動 作 す る わ け で は あ り ま せ ん 。 少 な か ら ぬ 端 末 プ ロ グ ラ ム で は デ フ ォ ル ト の 終 了 コ ー ド を 正 し く 認 識 し ま せ ん 。 デ ィ レ ク ト リ の リ ス ト を し た 後 で す べ て の テ キ ス ト に 色 を 付 け る た め に は 、 no コ ー ド と fi コ ー ド を 、 そ れ ぞ れ 0 か ら 前 景 色 、 背 景 色 の 数 値 コ ー ド へ 変 更 し て み て く だ さ い 。

MACHTYPE (+) コ ン パ イ ル 時 に 決 定 さ れ た マ シ ン タ イ プ (マ イ ク ロ プ ロ セ ッ サ ま た は 、 マ シ ン モ デ ル ) で す 。
NOREBIND
(+) 設 定 さ れ て い る と 、 印 刷 可 能 文 字 は self-insert-command を 繰 り 返 し 実 行 さ れ ま せ ん 。 固 有 言 語 シ ス テ ム の サ ポ ー ト を 参 照 し て く だ さ い 。
OSTYPE
(+) コ ン パ イ ル 時 に 決 定 さ れ た オ ペ レ ー シ ョ ン シ ス テ ム で す 。

PATH 実 行 可 能 フ ァ イ ル を 探 す デ ィ レ ク ト リ の 、 コ ロ ン 区 切 り 形 式 の リ ス ト 。 シ ェ ル 変 数

path に よ く 似 て い ま す が フ ォ ー マ ッ ト に 違 い が あ り ま す 。

PWD (+) シ ェ ル 変 数

cwd に 似 て い ま す が 、 シ ェ ル 変 数 と は 同 期 し て い ま せ ん 。

実 際 の デ ィ レ ク ト リ 変 更 が 行 わ れ た あ と で だ け ア ッ プ デ ー ト さ れ ま す 。

REMOTEHOST (+) ユ ー ザ が ど の ホ ス ト か ら ロ グ イ ン し て い る か を 示 し ま す (リ モ ー ト か ら の ロ グ イ ン で 、 か つ こ の シ ェ ル が こ れ ら の 情 報 を 決 定 で き る 場 合 )。 シ ェ ル が そ の よ う に コ ン パ イ ル さ れ て い る 場 合 だ け に 設 定 さ れ ま す 。 version シ ェ ル 変 数 を 参 照 し て く だ さ い 。
SHLVL
(+)

shlvl と 同 じ で す 。

SYSTYPE (+) 現 在 の シ ス テ ム タ イ プ で す 。 (Domain/OS の み )

TERM

term シ ェ ル 変 数 と 同 じ で す 。

TERMCAP

端 末 の ケ ー パ ビ リ テ ィ 文 字 列 で す 。 端 末 管 理 を 参 照 し て く だ さ い 。

USER

user シ ェ ル 変 数 と 同 じ で す 。

VENDOR (+) コ ン パ イ ル 時 に 決 定 さ れ た ベ ン ダ 名 で す 。

VISUAL デ フ ォ ル ト の フ ル ス ク リ ー ン エ デ ィ タ へ の パ ス 名 で す 。

EDITOR 環 境

変 数 と run-fg-editor 編 集 コ マ ン ド も 参 照 し て く だ さ い 。

関 連 フ ァ イ ル

/etc/csh.cshrc す べ て の シ ェ ル で 最 初 に 読 み 込 ま れ ま す 。

ConvexOS,

Stellix, Intel で は /etc/cshrc を 使 い ま す 。 NeXTs で は /etc/cshrc.std を 使 い ま す 。 A/UX, AMIX, Cray, IRIX の csh(1) は こ の フ ァ イ ル を 読 み ま せ ん が 、 い ず れ に せ よ tcsh で は こ の フ ァ イ ル が 読 み 込 ま れ ま す 。 Solaris 2.x も こ の フ ァ イ ル を 持 ち ま せ ん が 、 tcsh/etc/.cshrc を 読 み 込 み ま す 。 (+)

/etc/csh.login

/etc/csh.cshrc の 後 に ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。 ConvexOS, Stellix, Intel で は /etc/login を 使 い ま す 。 NeXTs で は /etc/login.std を 使 用 し ま す 。 Solaris 2.x で は /etc/.login を 使 い ま す 。 A/UX, AMIX, Cray, IRIX で は /etc/cshrc を 使 い ま す 。

~/.tcshrc (+)

/etc/csh.cshrc か そ れ に 相 当 す る フ ァ イ ル の 後 に 、 す べ て の シ ェ ル で 読 み 込 ま れ ま す 。

~/.cshrc

~/.tcshrc が 存 在 し な け れ ば 、 /etc/csh.cshrc か そ れ に 相 当 す る フ ァ イ ル の 後 に 、 す べ て の シ ェ ル で 読 み 込 ま れ ま す 。 こ の マ ニ ュ ア ル で は ’~/.tcshrc’ を 「 ’~/.tcshrc’ か ’~/.tcshrc’ が 見 つ か ら な か っ た 場 合 の ~/.cshrc’」 の 意 味 で 使 用 し ま す 。

~/.history

savehist が 設 定 さ れ て い る 場 合 は ~/.tcshrc の 後 に ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。 た だ し histfile の 部 分 も 参 照 し て く だ さ い 。

~/.login

~/.tcshrc ま た は ~/.history の 後 に ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。 シ ェ ル は ~/.login~/.tcshrc~/.history の 後 に で は な く 、 前 に 読 み 込 む よ う に コ ン パ イ ル さ れ て い る か も し れ ま せ ん 。 version シ ェ ル 変 数 を 参 照 し て く だ さ い 。

~/.cshdirs (+)

savedirs が 設 定 さ れ て い る 場 合 に は 、 ~/.login の 後 に ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。 た だ し dirsfile も 参 照 し て く だ さ い 。

/etc/csh.logout

ロ グ ア ウ ト 時 に ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。 ConvexOS, Stellix, Intel で は 、 /etc/logout を 使 い ま す 。 A/UX, AMIX, Cray, IRIX で は 、 csh(1) は こ れ に 対 応 す る フ ァ イ ル を 持 ち ま せ ん が 、 い ず れ に し て も tcsh は こ の フ ァ イ ル を 読 み ま す 。 Solaris 2.x も /etc/logout を 持 っ て い ま せ ん が 、 tcsh/etc/.logout を 読 み 込 み ま す 。 (+)
~/.logout

/etc/csh.logout ま た は そ の 相 当 フ ァ イ ル が 実 行 さ れ た 後 に 、 ロ グ イ ン シ ェ ル に よ っ て 読 み 込 ま れ ま す 。

/bin/sh

’#’ で 始 ま ら な い シ ェ ル ス ク リ プ ト を 解 釈 実 行 す る た め に 使 わ れ ま す 。

/tmp/sh*

’<<’ 用 の 一 時 フ ァ イ ル で す 。

/etc/passwd

ホ ー ム デ ィ レ ク ト リ ’~name’ を 代 入 す る た め の 情 報 源 で す 。 ス タ ー ト ア ッ プ フ ァ イ ル の 読 み 込 み の 順 番 は 、 シ ェ ル の コ ン パ イ ル 時 に 変 更 さ れ て い る か も し れ ま せ ん 。 ス タ ー ト ア ッ プ と シ ャ ッ ト ダ ウ ンversion を 参 照 し て く だ さ い 。

新 規 機 能 (+)

こ の マ ニ ュ ア ル で は 、 tcsh を ひ と つ の 対 象 と し て 記 述 し て き ま し た 。 し か し csh(1) の 経 験 者 は 、 tcsh の 新 し い 機 能 に 特 に 興 味 が あ る で し ょ う 。 コ マ ン ド 行 編 集 : GNU Emacs ス タ イ ル や vi(1)-ス タ イ ル の キ ー バ イ ン デ ィ ン グ を サ ポ ー ト し て い ま す 。 コ マ ン ド 行 エ デ ィ タ編 集 コ マ ン ド を 参 照 し て く だ さ い 。 プ ロ グ ラ マ ブ ル で 対 話 的 な 単 語 補 完 と 一 覧 表 示 。 補 完 と 一 覧 と 、 組 み 込 み コ マ ン ド complete, uncomplete の 記 述 を 見 て く だ さ い 。 フ ァ イ ル 名 、 コ マ ン ド 、 変 数 名 の ス ペ ル 訂 正 (そ ち ら も 参 照 )。 エ デ ィ タ 編 集 コ マ ン ド (そ ち ら も 参 照 ) で 、 コ マ ン ド の タ イ プ 中 に 他 の 便 利 な 機 能 を 実 行 で き ま す 。 ヘ ル プ フ ァ イ ル の 参 照 し て く だ さ い (run-help)、 手 軽 に エ デ ィ タ の 再 起 動 (run-fg-editor)、 コ マ ン ド 解 決 (which-command) な ど が で き ま す 。 高 性 能 化 さ れ た ヒ ス ト リ 機 能 。 ヒ ス ト リ リ ス ト の イ ベ ン ト に タ イ ム ス タ ン プ を つ け ら れ ま す 。 history コ マ ン ド お よ び そ れ に 関 連 す る シ ェ ル 変 数 、 ヒ ス ト リ 置 換 に 記 述 さ れ て い る 、 以 前 に は 文 書 化 さ れ て い な か っ た ’#’ イ ベ ン ト 記 述 子 と 新 し い 修 正 子 、 *-history, history-search-*, i-search-*, vi-search-*, toggle-literal-history 各 編 集 コ マ ン ド 、 シ ェ ル 変 数 histlit な ど も 参 照 し て く だ さ い 。 高 性 能 化 さ れ た デ ィ レ ク ト リ 解 釈 (parsing) と デ ィ レ ク ト リ ス タ ッ ク 操 作 。 cd, pushd, popd and dirs コ マ ン ド と そ れ ら に 関 連 す る シ ェ ル 変 数 、 デ ィ レ ク ト リ ス タ ッ ク 置 換 で の 説 明 、 dirstack, owd, symlinks シ ェ ル 変 数 、 normalize-command, normalize-path 編 集 コ マ ン ド な ど を 参 照 し て く だ さ い 。 グ ロ ブ パ タ ー ン の 否 定 。 フ ァ イ ル 名 置 換 を 見 て く だ さ い 。 新 し い フ ァ イ ル 問 い 合 わ せ 演 算 子 (そ ち ら も 参 照 ) と そ れ ら を 用 い る 組 み 込 み コ マ ン ド filetest。 ス ケ ー ジ ュ ー リ ン グ さ れ た イ ベ ン ト 、 特 別 な エ イ リ ア ス 、 自 動 ロ グ ア ウ ト 、 端 末 の ロ ッ ク 、 コ マ ン ド 待 ち 、 ロ グ イ ン と ロ グ ア ウ ト の 監 視 な ど な ど を 含 む 、 各 種 の 自 動 イ ベ ン ト 、 定 期 イ ベ ン ト 、 時 刻 指 定 イ ベ ン ト (そ れ ぞ れ の 項 目 を 参 照 )。 固 有 言 語 シ ス テ ム の サ ポ ー ト (固 有 言 語 シ ス テ ム の サ ポ ー ト を 見 て く だ さ い )、 OS 固 有 の 各 種 機 能 の サ ポ ー ト (OS 固 有 機 能 の サ ポ ー トecho_style シ ェ ル 変 数 を 参 照 )、 シ ス テ ム 依 存 の フ ァ イ ル 配 置 (関 連 フ ァ イ ル を 参 照 ) 拡 張 さ れ た 端 末 管 理 能 力 (端 末 管 理 を 参 照 )。

builtins, hup, ls−F, newgrp, printenv, which, where な ど の 新 し い 組 み 込 み コ マ ン ド (そ れ ぞ れ の 項 目 を 参 照 )。 新 し い 変 数 。 シ ェ ル か ら 便 利 な 情 報 を 簡 単 に 入 手 で き ま す 。 gid, loginsh, oid, shlvl, tcsh, tty, uid, version シ ェ ル 変 数 と 、 HOST, REMOTEHOST, VENDOR, OSTYPE, MACHTYPE 環 境 変 数 。 そ れ ぞ れ の 説 明 を 見 て く だ さ い 。 有 用 な 情 報 を プ ロ ン プ ト 文 字 列 に 埋 め こ む た め の 新 し い シ ン タ ッ ク ス (prompt を 参 照 )。 ル ー プ と ス ペ ル 訂 正 用 の 特 別 な プ ロ ン プ ト (prompt2prompt3 を 参 照 )。 読 み 取 り 専 用 の 変 数 (変 数 置 換 を 参 照 )。

バ グ

サ ス ペ ン ド さ れ た コ マ ン ド が 再 開 さ れ た と き に 、 カ レ ン ト デ ィ レ ク ト リ が 起 動 さ れ た と き と 違 っ て い る 場 合 に は 、 起 動 時 の デ ィ レ ク ト リ を 表 示 し ま す 。 ジ ョ ブ が 内 部 で デ ィ レ ク ト リ を 変 更 す る こ と も あ り 得 る の で 、 こ れ は 間 違 っ た 情 報 を 与 え て し ま う か も し れ ま せ ん 。 シ ェ ル の 組 み 込 み 機 能 は 停 止 、 再 開 で き ま せ ん 。 ’a ; b ; c’ の よ う な 形 の コ マ ン ド 列 を 停 止 さ せ る と き の 処 理 も あ ま り 上 品 な も の で は あ り ま せ ん 。 ’b’ コ マ ン ド を サ ス ペ ン ド さ せ る と 、 シ ェ ル は 即 座 に ’c’ コ マ ン ド を 実 行 し て し ま い ま す 。 alias で の 展 開 結 果 を 実 行 し て い る と き に は 、 特 に こ の 点 に 注 意 が 必 要 で す 。 コ マ ン ド 列 を () の 中 に 入 れ て 、 サ ブ シ ェ ル に 押 し 込 め て し ま う の が い い で し ょ う 。 つ ま り ’( a ; b ; c )’ の よ う に す る の で す 。 プ ロ セ ス 開 始 後 の 端 末 出 力 の 制 御 が 原 始 的 で す 。 誰 か が 仮 想 端 末 の 良 い イ ン タ フ ェ ー ス を 作 っ て く れ る と い い の で す が 。 仮 想 端 末 イ ン タ ー フ ェ ー ス の 分 野 で は 、 出 力 制 御 に 関 し て 面 白 い こ と が た く さ ん 行 え る は ず で す 。 エ イ リ ア ス 置 換 が シ ェ ル 手 続 き の シ ミ ュ レ ー ト に 大 変 良 く 用 い ら れ ま す が 、 こ れ は あ ま り 気 の き い た も の で は あ り ま せ ん 。 エ イ リ ア ス よ り も シ ェ ル 手 続 き を 提 供 す べ き で す 。 ル ー プ の 中 の コ マ ン ド は 、 ヒ ス ト リ リ ス ト に 追 加 さ れ ま せ ん 。 制 御 構 造 は 、 組 み 込 み コ マ ン ド と し て は 認 識 さ れ ず 、 単 に 解 釈 さ れ ま す 。 し た が っ て 制 御 コ マ ン ド は ど こ に で も 置 く こ と が で き 、 パ イ プ ’|’ と い っ し ょ に も 、 ’&’ と ’;’ の よ う な メ タ シ ン タ ッ ク ス と い っ し ょ に も 使 え ま す 。

foreachend を 探 し て い る と き ヒ ア ド キ ュ メ ン ト を 無 視 し ま せ ん 。

’:’ 修 飾 子 は 、 コ マ ン ド 置 換 の 出 力 に 使 え る べ き で す 。 ダ ム 端 末 の よ う に 、 端 末 が カ ー ソ ル を 上 に 移 動 で き な い 場 合 に は 、 ス ク リ ー ン 幅 よ り 長 い 行 の 更 新 が 大 変 貧 弱 で す 。

HPATHNOREBIND は 環 境 変 数 で あ る 必 要 は あ り ま せ ん 。

’?’ や ’*’ や ’[]’ を 使 わ な い グ ロ ブ パ タ ー ン や 、 ’{}’ や ’~’ を 使 う グ ロ ブ パ タ ー ン は 、 否 定 が 正 し く 扱 わ れ ま せ ん 。

if の 単 一 コ マ ン ド 形 式 で は 、 た と え 式 が 偽 で 、 コ マ ン ド が 実 行 さ れ な か っ た と し て も 、 リ ダ イ レ ク ト 出 力 を し て し ま い ま す 。

ls−F は フ ァ イ ル 名 を ソ ー ト す る と き 、 フ ァ イ ル 識 別 キ ャ ラ ク タ を 勘 定 に 入 れ て し ま い ま す 。 ま た フ ァ イ ル 名 の 中 の 制 御 文 字 を 正 し く 扱 う こ と が で き ま せ ん 。 中 断 さ せ る こ と も で き ま せ ん 。 バ グ レ ポ ー ト は tcsh-bugs [AT] mx.com ま で 送 っ て く だ さ い 。 修 正 も い っ し ょ に 送 っ て い た だ け る と あ り が た い で す 。 も し tcsh の メ ン テ ナ ン ス と テ ス ト を 手 伝 っ て 下 さ る 場 合 に は 、 本 文 に "subscribe tcsh <your name>" と 一 行 書 い た メ ー ル を listserv [AT] mx.com に 送 っ て く だ さ い 。 "subscribe tcsh-bugs <your name>" を 講 読 す れ ば す べ て の バ グ レ ポ ー ト が 取 得 で き ま す 。 "subscribe tcsh-diffs <your name>" を 講 読 す れ ば 開 発 ML に 参 加 で き 、 各 パ ッ チ レ ベ ル で の diff を 入 手 で き ま す 。

tcsh の T の 由 来

1964 年 DEC は PDP-6 を 開 発 し ま し た 。 の ち に PDP-10 が 再 実 装 さ れ ま し た 。 1970 年 前 後 に DEC が そ の セ カ ン ド モ デ ル KI10 を 発 表 し た と き 、 こ れ に は DECsystem-10 と い う 新 し い 名 前 が つ け ら れ ま し た 。

TENEX は 1972 年 に Bolt, Beranek & Newman (Massachusetts 州 Cambridge の シ ン ク タ ン ク ) に お い て 、 実 験 的 な デ マ ン ド ペ ー ジ 型 仮 想 記 憶 OS と し て 作 ら れ ま し た 。 彼 ら は DEC PDP-10 用 の 新 し い ペ ー ジ ャ を 構 築 し 、 そ れ を 使 っ た OS を 作 り ま し た 。 こ れ は 学 術 分 野 で 非 常 に 大 き な 成 功 を 収 め ま し た 。

1975 年 DEC は PDP-10 の 新 し い モ デ ル KL10 を 発 表 し ま し た 。 DEC は BBN か ら TENEX の ラ イ セ ン ス を 受 け 、 KL10 は TENEX 版 の み に す る つ も り で し た 。 DEC は そ れ ら の バ ー ジ ョ ン を TOPS-20 と 呼 ん で い ま し た (大 文 字 化 は 商 標 で す )。 多 く の TOPS-10 ("The OPerating System for PDP-10" の 頭 文 字 で す ) ユ ー ザ が こ れ に 反 対 し ま し た 。 こ う し て DEC は 同 じ ハ ー ド ウ エ ア に ふ た つ の 互 換 性 の な い シ ス テ ム を サ ポ ー ト し な け れ ば な ら な い こ と に な り ま し た 。 --で も そ の と き PDP-11 に は 6 つ の OS が あ っ た の で す が !

TENEX の TOPS-20 は バ ー ジ ョ ン 3 ま で に 、 ULTCMD と 呼 ば れ る ユ ー ザ コ ー ド レ ベ ル の コ マ ン ド 補 完 機 能 サ ブ ル ー チ ン を 備 え て い ま し た 。 バ ー ジ ョ ン 3 で DEC は 、 こ れ ら の 機 能 す べ て と 、 さ ら に そ れ 以 上 と を モ ニ タ (Unix で い う と こ ろ の カ ー ネ ル ) に 追 加 し 、 COMND& JSYS (’Jump to SYStem’ 命 令 ; ス ー パ ー バ イ ザ ー を 呼 び 出 す 機 能 [私 が IBM 上 が り だ っ て バ レ ち ゃ っ た ?]) で ア ク セ ス で き る よ う に し ま し た

tcsh の 作 者 た ち は TENEX と TOPS-20 に お け る こ れ ら の 機 能 に 影 響 を 受 け 、 こ れ を 模 倣 し た 版 の csh を 作 成 し た の で す 。

制 限

単 語 は 1024 文 字 よ り 長 く で き ま せ ん 。 シ ス テ ム は 引 数 並 び を 10240 文 字 ま で に 制 限 し て い ま す 。 コ マ ン ド に 与 え る 引 き 数 の 数 (フ ァ イ ル 名 展 開 を 含 む ) は 、 引 き 数 リ ス ト に 許 さ れ た 文 字 数 の 1/6 ま で に 制 限 さ れ て い ま す 。 コ マ ン ド 置 換 で は 、 引 数 リ ス ト に 許 さ れ た 文 字 数 よ り 多 く の 文 字 数 に 置 換 で き ま せ ん 。 シ ェ ル は ル ー プ を 検 出 す る た め に 、 alias 置 換 の 回 数 を 1 行 当 た り 20 に 制 限 し て い ま す 。

関 連 項 目

csh(1), emacs(1), ls(1), newgrp(1), sh(1), setpath(1), stty(1), su(1), tset(1), vi(1), x(1), access(2), execve(2), fork(2), killpg(2), pipe(2), setrlimit(2), sigvec(2), stat(2), umask(2), vfork(2), wait(2), malloc(3), setlocale(3), tty(4), a.out(5), termcap(5), environ(7), termio(7), Introduction to the C Shell

バ ー ジ ョ ン

こ の マ ニ ュ ア ル は tcsh 6.11.00 (Astron) 2001-09-02 に 関 す る ド キ ュ メ ン ト で す 。

作 者

William Joy

csh(1) の オ リ ジ ナ ル 作 者

J.E. Kulp, IIASA, Laxenburg, Austria ジ ョ ブ コ ン ト ロ ー ル と デ ィ レ ク ト リ ス タ ッ ク 機 能
Ken Greer, HP Labs, 1981 フ ァ イ ル 名 補 完
Mike Ellis, Fairchild, 1983 コ マ ン ド 名 認 識 / 補 完
Paul Placeway, Ohio State CIS Dept., 1983-1993 コ マ ン ド ラ イ ン エ デ ィ タ 、 プ ロ ン プ ト ル ー チ ン 、 新 し い グ ロ ブ の 文 法 、 た く さ ん の 修 正 と ス ピ ー ド ア ッ プ
Karl Kleinpaste, CCI 1983-4 特 別 な エ イ リ ア ス 、 デ ィ レ ク ト リ ス タ ッ ク の 取 出 し 機 能 、 ロ グ イ ン / ロ グ ア ウ ト 監 視 、 ス ケ ジ ュ ー ル イ ベ ン ト 、 新 し い プ ロ ン プ ト 書 式 の ア イ デ ア
Rayan Zachariassen, University of Toronto, 1984

ls−Fwhich の 組 み 込 み 、 た く さ ん の バ ク フ ィ ッ ク ス 、 修 正 と ス ピ ー ド ア ッ プ

Chris Kingsley, Caltech 高 速 ス ト レ ー ジ ア ロ ケ ー タ ル ー チ ン
Chris Grevstad, TRW, 1987

4.3BSD cshtcsh へ の マ ー ジ

Christos S. Zoulas, Cornell U. EE Dept., 1987-94

HPUX, SVR2, SVR3 に 移 植 、 SysV 版 getwd.c, SHORT_STRINGS を サ ポ ー ト 、 sh.glob.c の 新 バ ー ジ ョ ン

James J Dempsey, BBN, and Paul Placeway, OSU, 1988

A/UX に 移 植

Daniel Long, NNSC, 1988

wordchars

Patrick Wolfe, Kuck and Associates, Inc., 1988

vi モ ー ド の ク リ ー ン ア ッ プ

David C Lawrence, Rensselaer Polytechnic Institute, 1989

autolist と 、 あ い ま い 補 完 の 一 覧

Alec Wolman, DEC, 1989 プ ロ ン プ ト 中 の 改 行
Matt Landau, BBN, 1989 フ ァ イ ル ~/.tcshrc
Ray Moody, Purdue Physics, 1989 ス ペ ー ス バ ー の 魔 法 に よ る ヒ ス ト リ 展 開
Mordechai ????, Intel, 1989

printprompt() の 修 正 と 追 加

Kazuhiro Honda, Dept. of Computer Science, Keio University, 1989 自 動 ス ペ ル 訂 正 と prompt3
Per Hedeland, Ellemtel, Sweden, 1990- さ ま ざ ま な バ グ フ ィ ッ ク ス 、 改 良 と マ ニ ュ ア ル の ア ッ プ デ ー ト
Hans J. Albertsson (Sun Sweden)

ampm, settc, telltc

Michael Bloom 割 り 込 み ハ ン ド リ ン グ の 修 正
Michael Fine, Digital Equipment Corp 拡 張 キ ー の サ ポ ー ト
Eric Schnoebelen, Convex, 1990

Convex サ ポ ー ト 、 csh の 多 数 の バ グ フ ィ ッ ク ス 、 デ ィ レ ク ト リ ス タ ッ ク の 保 存 と 復 帰

Ron Flax, Apple, 1990

A/UX 2.0 へ の (再 ) 移 植

Dan Oscarsson, LTH Sweden, 1990

NLS サ ポ ー ト と 非 NLS サ イ ト 用 の NLS シ ミ ュ レ ー ト 機 能 、 修 正

Johan Widen, SICS Sweden, 1990

shlvl, Mach サ ポ ー ト 、 correct-line, 8 ビ ッ ト 表 示

Matt Day, Sanyo Icon, 1990

POSIX termio サ ポ ー ト 、 SysV limit 修 正

Jaap Vermeulen, Sequent, 1990-91

vi モ ー ド 修 正 、 expand-line, ウ イ ン ド ウ 変 更 の 修 正 、 Symmetry 移 植

Martin Boyer, Institut de recherche d’Hydro-Quebec, 1991

autolist beeping オ プ シ ョ ン 、 行 の 先 頭 か ら カ ー ソ ル ま で の す べ て を 対 象 と す る ヒ ス ト リ 検 索 の 修 正

Scott Krotz, Motorola, 1991

Minix に 移 植

David Dawes, Sydney U. Australia, Physics Dept., 1991

SVR4 ジ ョ ブ コ ン ト ロ ー ル の 修 正

Jose Sousa, Interactive Systems Corp., 1991 拡 張 vi の 修 正 、 vi デ リ ー ト コ マ ン ド
Marc Horowitz, MIT, 1991

ANSIfication の 修 正 、 新 し い exec ハ ッ シ ュ コ ー ド 、 imake の 修 正 、 where

Bruce Sterling Woodcock, sterling [AT] netcom.com, 1991-1995

ETA と Pyramid へ の 移 植 、 Makefile と lint の 修 正 、 ignoreeof=n 追 加 、 そ の 他 の さ ま ざ ま な 移 植 性 向 上 の た め の 変 更 、 お よ び バ グ 修 正

Jeff Fink, 1992

complete-word-fwdcomplete-word-back

Harry C. Pulley, 1992

Coherent に 移 植

Andy Phillips, Mullard Space Science Lab U.K., 1992

VMS-POSIX に 移 植

Beto Appleton, IBM Corp., 1992 移 動 プ ロ セ ス グ ル ー プ の 修 正 、 csh バ グ 修 正 、 POSIX file tests, POSIX SIGHUP
Scott Bolte, Cray Computer Corp., 1992

CSOS に 移 植

Kaveh R. Ghazi, Rutgers University, 1992

Tek, m88k, Titan と Masscomp へ の 移 植 と 修 正 、 autoconf サ ポ ー ト の 追 加

Mark Linderman, Cornell University, 1992

OS/2 に 移 植

Mika Liljeberg, liljeber [AT] kruuna.FI, 1992

Linux に 移 植

Tim P. Starrin, NASA Langley Research Center Operations, 1993 読 み 取 り 専 用 変 数
Dave Schweisguth, Yale University, 1993-4 新 し い マ ニ ュ ア ル ペ ー ジ と tcsh.man2html
Larry Schwimmer, Stanford University, 1993

AFS と HESIOD パ ッ チ

Luke Mewburn, RMIT University, 1994-6 プ ロ ン プ ト の 中 で の デ ィ レ ク ト リ 表 示 の 拡 張 、 ellipsisrprompt
Edward Hutchins, Silicon Graphics Inc., 1996 暗 黙 的 な cd の 追 加 。
Martin Kraemer, 1997

Siemens Nixdorf EBCDIC machine に 移 植

Amol Deshpande, Microsoft, 1997

WIN32 (Windows/95 and Windows/NT) に 移 植 、 足 り な い ラ イ ブ ラ リ す べ て と 、 メ ッ セ ー ジ カ タ ロ グ コ ー ド の す べ て を 作 成 し 、 Windows と 通 信 で き る よ う に し た

Taga Nayuta, 1998 色 つ き ls の 追 加

謝 辞

以 下 の み な さ ん に 感 謝 し ま す 。

Bryan Dunlap, Clayton Elwell, Karl Kleinpaste, Bob Manson, Steve Romig, Diana Smetters, Bob Sutterfield, Mark Verber, Elizabeth Zwicky そ し て 提 案 と 応 援 を し て く れ た オ ハ イ オ 州 の す べ て の み な さ ん 。 あ ら ゆ る バ ー ジ ョ ン に 耐 え 、 バ グ レ ポ ー ト を 送 っ て く れ 、 提 案 と 新 規 追 加 を し て く れ た ネ ッ ト 上 の す べ て の み な さ ん 。

"tcsh の T の 由 来 " の 章 を 執 筆 し て く れ た Richard M. Alderson III。

翻 訳

t_ogawa <BYH06106 [AT] nifty.jp> お さ な <yasu [AT] via2000.net> ゆ 〜 こ <yuko [AT] veltec.jp> 森 浩 二 <mori [AT] tri.jp>
NOKUBI Hirotaka <nokubi [AT] ff.jp> 中 野 武 雄 <nakano [AT] apm.jp> (JM プ ロ ジ ェ ク ト ) 蔭 山 <yt-kage [AT] cb3.jp> 中 村 和 志 @ 神 戸 <kaz [AT] kobe1995.net> 大 澤 千 敏 @ 岐 阜 <ohsawa [AT] catv1.jp> 熊 谷 典 大 <kumagai [AT] home.com>
(順 不 同 ) 翻 訳 に あ た り 、 JM プ ロ ジ ェ ク ト の 方 々 の 御 協 力 を 頂 き ま し た 。