Man page - tcsh(1)

Packages contains this manual

    Package:  tcsh
    apt-get install tcsh
    Manuals in package:
    Documentations in package:

Available languages:

en ja

Manual

TCSH

名 称
書 式
解 説
引 数 リ ス ト 処 理
ス タ ー ト ア ッ プ と シ ャ ッ ト ダ ウ ン
編 集
コ マ ン ド 行 編 集 (+)
補 完 と 一 覧 (+)
ス ペ ル 訂 正 (+)
編 集 コ マ ン ド (+)
字 句 構 造
置 換
ヒ ス ト リ 置 換
エ イ リ ア ス 置 換
変 数 置 換
コ マ ン ド 置 換 、 フ ァ イ ル 名 置 換 、 デ ィ レ ク ト リ ス タ ッ ク 置 換
コ マ ン ド 置 換
フ ァ イ ル 名 置 換
デ ィ レ ク ト リ ス タ ッ ク 置 換 (+)
そ の 他 の 置 換 (+)
コ マ ン ド
単 純 コ マ ン ド 、 パ イ プ ラ イ ン 、 コ マ ン ド 列
組 み 込 み コ マ ン ド 、 非 組 み 込 み コ マ ン ド の 実 行
入 出 力
特 徴
制 御 フ ロ ー

論 理 演 算 子 , 算 術 演 算 子 , 比 較 演 算 子
コ マ ン ド 終 了 ス テ ー タ ス
フ ァ イ ル 問 い 合 わ せ 演 算 子
ジ ョ ブ
状 態 通 知
自 動 イ ベ ン ト 、 定 期 イ ベ ン ト 、 時 刻 指 定 イ ベ ン ト (+)
固 有 言 語 シ ス テ ム の サ ポ ー ト (+)
OS 固 有 機 能 の サ ポ ー ト (+)
シ グ ナ ル 処 理
端 末 管 理 (+)
参 照
組 み 込 み コ マ ン ド
特 別 な エ イ リ ア ス (+)
特 別 な シ ェ ル 変 数
環 境 変 数
関 連 フ ァ イ ル
新 規 機 能 (+)
バ グ
tcsh の T の 由 来
制 限
関 連 項 目
バ ー ジ ョ ン
作 者
謝 辞
翻 訳

名 称

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-fwd complete-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) を 実 行 し な い よ う に す る こ と が で き ま す 。 listmax listmaxrows に セ ッ ト す る こ と で 、 ま ず 問 い 合 わ せ ず に 一 覧 表 示 す る 項 目 の 数 や 、 列 の 数 を 、 そ れ ぞ れ 制 限 す る こ と が で き ま す 。 recognize_only_executables を セ ッ ト す る と 、 シ ェ ル が コ マ ン ド 一 覧 を 表 示 す る 際 に 、 実 行 可 能 フ ァ イ ル だ け を 一 覧 表 示 す る よ う に さ せ る こ と が で き ま す 。 た だ し 、 動 作 は き わ め て 遅 く な り ま す 。

最 後 に 、 組 み 込 み コ マ ン ド complete を 使 っ て 、 フ ァ イ ル 名 、 コ マ ン ド 、 変 数 以 外 の 単 語 を 補 完 す る 方 法 を シ ェ ル に 教 え る こ と が で き ま す 。 補 完 と 一 覧 は 、 グ ロ ブ パ タ ー ン ( フ ァ イ ル 名 置 換 の 項 を 参 照 ) 上 で は 機 能 し ま せ ん が 、 編 集 コ マ ン ド list-glob expand-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-history down-history は 、 ヒ ス ト リ リ ス ト の 該 当 す る 地 点 か ら 始 め る 事 が で き ま す 。 Emacs モ ー ド の み で す 。 history-search-forward i-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-fwd history-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-eof list-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 に よ り 、 ヒ ス ト リ リ ス ト の 表 示 、 フ ァ イ ル に 保 存 、 フ ァ イ ル か ら の 読 み 込 み 、 ク リ ア を い つ で も 行 え ま す 。 シ ェ ル 変 数 savehist histfile に よ り 、 ヒ ス ト リ リ ス ト の ロ グ ア ウ ト 時 の 自 動 保 存 と 、 ロ グ イ ン 時 の 自 動 読 み 込 み を 設 定 す る こ と が で き ま す 。

ヒ ス ト リ 置 換 に よ り 、 ヒ ス ト リ リ ス ト か ら 単 語 の 列 を 入 力 ス ト リ ー ム に 持 ち 込 み ま す 。 こ れ に よ り 、 前 の コ マ ン ド の 繰 り 返 し 、 前 の コ マ ン ド で 使 っ た 引 数 の 繰 り 返 し 、 前 の コ マ ン ド で 間 違 え た ス ペ ル の 修 正 を わ ず か な キ ー 入 力 で 、 か な り 確 実 に 容 易 に 行 う こ と が で き る よ う に な り ま す 。

ヒ ス ト リ 置 換 は 、 文 字 ‘!’ で 始 ま り ま す 。 ヒ ス ト リ 置 換 は 、 入 力 ス ト リ ー ム の ど こ か ら 開 始 し て も か ま い ま せ ん が 、 入 れ 子 に は で き ま せ ん 。 文 字 ‘!’ の 前 に ‘\’ を 置 く こ と で 、 ‘!’ の 特 殊 な 意 味 を 打 ち 消 す こ と が で き ま す 。 文 字 ‘!’ が 、 空 白 文 字 、 タ ブ 文 字 、 改 行 文 字 、 ‘=’、 ‘(’ の 前 に あ る 場 合 は 、 そ う し た 方 が 便 利 な の で 、 無 変 更 の ま ま 渡 さ れ ま す 。 入 力 行 が ‘ˆ’ で 始 ま る 場 合 に も 、 ヒ ス ト リ 置 換 が 生 じ ま す 。 こ の 省 略 表 現 に つ い て は 後 で 説 明 し ま す 。 ヒ ス ト リ 置 換 を 示 す た め の 文 字 (‘!’ と ‘ˆ’) は 、 シ ェ ル 変 数 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/

l r で 置 換 し ま す 。 l r と 同 様 に 、 単 な る 文 字 列 で す 。 名 付 け 親 で あ る ed (1) コ マ ン ド の よ う な 正 規 表 現 で は あ り ま せ ん 。 ‘/’ の 代 わ り に 任 意 の 文 字 を 区 切 り 文 字 と し て 使 う こ と が で き ま す 。 ‘\’ を 使 い 、 l r の 中 で 区 切 り 文 字 を ク ォ ー ト す る こ と が で き ま す 。 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 に あ る コ マ ン ド を 、 要 求 に 応 じ て フ ル パ ス に 展 開 し ま す 。 最 後 に 、 cd pushd は ‘-’ を 以 前 の 作 業 デ ィ レ ク ト リ (シ ェ ル 変 数 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’ で す 。

特 徴

こ こ で は シ ェ ル が ど の よ う に コ マ ン ド ラ イ ン を 受 け 入 れ 、 解 釈 し 、 実 行 す る か を 説 明 し ま し た 。 次 は 、 便 利 な 特 徴 に つ い て 説 明 し ま す 。

制 御 フ ロ ー

こ の シ ェ ル に は 、 コ マ ン ド フ ァ イ ル (シ ェ ル ス ク リ プ ト ) や (制 約 は あ る も の の 便 利 な ) 端 末 か ら の 入 力 処 理 の 流 れ を 制 御 す る た め に 使 用 で き る 多 く の コ マ ン ド を 備 え て い ま す 。 こ れ ら の コ マ ン ド は 、 入 力 の 再 読 み 込 み や 読 み 飛 ば し を 行 う た め シ ェ ル を 強 制 的 に 操 作 し ま す 。 こ れ ら の 実 装 の た め に 、 幾 つ か の コ マ ン ド に は 制 限 が あ り ま す 。

foreach switch while 文 は 、 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 に 渡 す べ き 演 算 子 と 、 そ う で な い 演 算 子 (た と え ば X t ) を 連 結 す る こ と は 可 能 で す が 、 実 用 的 で は な く 、 し ば し ば 間 違 い の 元 に な り ま す 。 特 に 、 フ ァ イ ル で な い 演 算 子 に 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 の 形 式 で 表 し た 複 合 f ile 識 別 子

L

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

N

(ハ ー ド ) リ ン ク の 数

P

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

P:

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

P mode

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

P mode :

P mode : と 同 じ で 、 先 頭 に 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 を 実 行 す る よ う に 設 定 で き ま す 。

シ ェ ル 変 数 の watch who を 使 っ て 、 指 定 し た ユ ー ザ が ロ グ イ ン ま た は ロ グ ア ウ ト し た 時 に レ ポ ー ト す る よ う に 設 定 で き ま す 。 ま た 組 み 込 み コ マ ン ド の log で い つ で も そ れ ら の ユ ー ザ に つ い て の レ ポ ー ト を 得 ら れ ま す 。

固 有 言 語 シ ス テ ム の サ ポ ー ト (+)

シ ェ ル は 8 ビ ッ ト ク リ ー ン な の で (そ の よ う に コ ン パ イ ル さ れ て い れ ば 。 シ ェ ル 変 数 の version を 参 照 )、 そ れ を 必 要 と す る 文 字 セ ッ ト を サ ポ ー ト し ま す 。 NLS サ ポ ー ト は シ ェ ル が シ ス テ ム の NLS を 使 う よ う に コ ン パ イ ル さ れ て い る か ど う か に よ っ て 異 な り ま す (再 び 、 version を 参 照 )。 ど ち ら の 場 合 で も 7 ビ ッ ト ASCII が デ フ ォ ル ト の 文 字 分 類 (た と え ば そ れ ら の 文 字 は 表 示 可 能 ) で あ り 、 そ し て 順 序 づ け で す 。 環 境 変 数 の LANG ま た は LC_CTYPE を 変 更 す る と 、 こ れ ら の 点 に つ い て 変 化 の 有 無 が チ ェ ッ ク さ れ ま す 。

シ ス テ ム の NLS を 使 う 場 合 に は 、 文 字 の 適 切 な 分 類 と 順 序 づ け を 決 定 す る た め に setlocale (3) 関 数 が 呼 び 出 さ れ ま す 。 こ の 関 数 は 典 型 的 に は 環 境 変 数 の LANG LC_CTYPE を 調 べ ま す 。 よ り 詳 細 に つ い て は シ ス テ ム の ド キ ュ メ ン ト を 参 照 し て く だ さ い 。 シ ス テ ム の NLS を 使 わ な い 場 合 に は 、 シ ェ ル は ISO 8859-1 文 字 セ ッ ト が 使 わ れ て い る と 仮 定 す る こ と で シ ミ ュ レ ー ト し ま す 。 変 数 LANG LC_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) で は 、 getspath setspath で シ ス テ ム 実 行 パ ス を 取 得 、 設 定 し 、 getxvers setxvers で 試 験 バ ー ジ ョ ン プ リ フ ィ ッ ク ス を 取 得 、 設 定 し て 、 migrate で プ ロ セ ス を サ イ ト 間 で 移 動 さ せ ま す 。 組 み 込 み コ マ ン ド の jobs は 各 ジ ョ ブ が 実 行 さ れ て い る サ イ ト を 表 示 し ま す 。

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

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

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

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

Convex/OS で は 、 warp で universe を 表 示 ま た は 設 定 し ま す 。

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

set path = (˜/bin.$MACHTYPE /usr/ucb /bin /usr/bin .)

と し 、 各 マ シ ン 用 に コ ン パ イ ル さ れ た 実 行 形 式 を 適 切 な デ ィ レ ク ト リ に 置 く こ と が で き ま す 。

シ ェ ル 変 数 の version は 、 ど の オ プ シ ョ ン を 選 択 し て シ ェ ル が コ ン パ イ ル さ れ た か を 表 示 し ま す 。

組 み 込 み の newgrp 、 シ ェ ル 変 数 の afsuser echo_style 、 そ し て シ ス テ ム に 依 存 す る シ ェ ル の 入 力 フ ァ イ ル ( フ ァ イ ル を 参 照 ) の 位 置 に も 注 意 し て く だ さ い 。

シ グ ナ ル 処 理

ロ グ イ ン シ ェ ル は ˜/.logout フ ァ イ ル を 読 ん で い る 間 は 割 り 込 み を 無 視 し ま す 。 シ ェ ル は 起 動 時 に -q の 指 定 が 無 け れ ば QUIT シ グ ナ ル を 無 視 し ま す 。 ロ グ イ ン シ ェ ル は TERM シ グ ナ ル を 捕 捉 し ま す が 、 非 ロ グ イ ン シ ェ ル は TERM シ グ ナ ル へ の 挙 動 を 親 か ら 継 承 し ま す 。 他 の シ グ ナ ル に つ い て は 親 か ら シ ェ ル に 継 承 さ れ た 値 を 持 っ て い ま す 。

シ ェ ル ス ク リ プ ト で は 、 シ ェ ル の INT と TERM シ グ ナ ル の 扱 い を onintr で 制 御 で き ま す 。 そ し て HUP の 扱 い を hup nohup で 制 御 で き ま す 。

シ ェ ル は HUP で 終 了 し ま す (シ ェ ル 変 数 の logout も 参 照 )。 デ フ ォ ル ト で は 、 シ ェ ル の 子 供 た ち も そ う し ま す が 、 シ ェ ル は 終 了 時 に HUP を 子 供 た ち に 送 り ま せ ん 。 hup は シ ェ ル が 終 了 時 に 子 供 に HUP を 送 る よ う に し 、 nohup は 子 供 が HUP を 無 視 す る よ う に 設 定 し ま す 。

端 末 管 理 (+)

シ ェ ル は 3 つ の 異 な る 端 末 (‘‘tty’’) モ ー ド の 設 定 を 使 い ま す 。 そ れ ら は 編 集 時 に 使 う ‘edit’、 文 字 リ テ ラ ル を ク ォ ー ト す る 場 合 に 使 う ‘quote’、 コ マ ン ド 実 行 時 に 使 う ‘execute’ で す 。 シ ェ ル は 各 モ ー ド で い く つ か の 設 定 を 一 定 に 保 つ の で 、 tty を 混 乱 状 態 に し て 終 了 す る コ マ ン ド が シ ェ ル に 干 渉 す る こ と は あ り ま せ ん 。 シ ェ ル は tty の ス ピ ー ド と パ デ ィ ン グ の 変 更 に も 対 応 し ま す 。 一 定 に 保 た れ る tty モ ー ド の リ ス ト は 組 み 込 み の setty で 取 得 、 設 定 で き ま す 。 エ デ ィ タ は CBREAK モ ー ド (ま た は 同 等 の モ ー ド ) を 使 い ま す が 、 先 行 入 力 さ れ た 文 字 は い つ で も 受 け 付 け ら れ ま す 。

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

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

参 照

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

組 み 込 み コ マ ン ド

% job

組 み 込 み コ マ ン ド fg と 同 義 で す 。

% job &

組 み 込 み コ マ ン ド bg と 同 義 で す 。

:

何 も し ま せ ん 。 常 に 成 功 し ま す 。

@
@
name = expr
@
name [ index ] = expr
@
name ++ | --
@
name [ index ] ++ | --

最 初 の 形 式 は 、 す べ て の シ ェ ル 変 数 の 値 を 表 示 し ま す 。

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

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

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

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

alias [ name [ wordlist ]]

引 数 が な け れ ば 、 す べ て の エ イ リ ア ス を 表 示 し ま す 。 name を 与 え る と 、 そ の エ イ リ ア ス の 内 容 を 表 示 し ま す 。 name wordlist を 与 え る と 、 wordlist name の エ イ リ ア ス と し て 定 義 し ま す 。 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 の 形 式 で は 編 集 コ マ ン ド command key に バ イ ン ド し ま す 。 オ プ シ ョ ン は 以 下 の も の を 含 み ま す 。

-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’ は key self-insert-command に バ イ ン ド す る の で は な く 、 そ の キ ー の バ イ ン ド を 完 全 に 解 除 し て し ま う こ と に 注 意 し て く だ さ い 。

-c

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

-s

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

--

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

-u (ま た は 何 ら か の 無 効 な オ プ シ ョ ン )

使 い 方 を 表 示 し ま す 。

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

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

\a

ベ ル

\b

バ ッ ク ス ペ ー ス

\e

エ ス ケ ー プ

\f

改 ペ ー ジ (フ ォ ー ム フ ィ ー ド )

\n

改 行

\r

キ ャ リ ッ ジ リ タ ー ン

\t

水 平 タ ブ

\v

垂 直 タ ブ

\ nnn

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

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

break

実 行 を 一 番 近 い foreach ま た は while end の 組 の 、 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 の 補 完 候 補 を 表 示 し ま す 。 command word な ど を つ け る と 、 補 完 を 定 義 し ま す 。

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 パ タ ー ン を 与 え る こ と は で き ま せ ん 。 ま た x list-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-raw list-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 番 目 の 形 式 で は 、 デ ィ レ ク ト リ ス タ ッ ク を cd pushd か ら な る コ マ ン ド 列 と し て 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 に 挟 ま れ た 範 囲 の コ マ ン ド シ ー ケ ン ス を 実 行 し ま す 。 ( foreach end は 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 部 は 省 略 可 能 で す 。 ( else endif の 各 単 語 は 入 力 行 の 先 頭 に し か 置 け ま せ ん 。 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 が 省 略 さ れ た 場 合 は カ レ ン ト ジ ョ ブ ) の 状 態 に 何 ら か の 変 化 が あ っ た 場 合 に 非 同 期 的 に 、 通 知 す る よ う に し ま す 。 こ の 場 合 は 通 常 と 異 な り 、 次 の プ ロ ン プ ト が 出 力 さ れ る ま で 待 ち ま せ ん 。 job Jobs に 記 述 さ れ て い る よ う に 番 号 、 文 字 列 、 ‘’, ‘%’, ‘+’, ‘-’ の ど れ で も 許 さ れ ま す 。 シ ェ ル 変 数 notify も 参 照 し て く だ さ い 。

onintr [ - | label ]

割 り 込 み 時 の シ ェ ル の 動 作 を 制 御 し ま す 。 引 数 が な け れ ば 、 シ ェ ル の デ フ ォ ル ト の 割 り 込 み 時 の 動 作 に 設 定 さ れ ま す 。 こ の 場 合 は 、 シ ェ ル ス ク リ プ ト は 割 り 込 み で 中 断 さ れ 、 コ マ ン ド 実 行 時 は コ マ ン ド の 実 行 を 中 断 し て コ マ ン ド 入 力 待 ち に 戻 り ま す 。 ‘-’ が 指 定 さ れ た 場 合 は す べ て の 割 り 込 み が 無 視 さ れ ま す 。 label を 指 定 す る と 、 割 り 込 み が 発 生 し た り 子 プ ロ セ ス が 割 り 込 み で 中 断 し た り し た 場 合 に ‘goto label ’ を 実 行 し ま す 。

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

popd [ -p ] [ -l ] [ -n | -v ] [ + n ]

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

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

printenv [ name ] (+)

す べ て の 環 境 変 数 の 名 前 と 値 を 表 示 す る か 、 name を 与 え た 場 合 に は 環 境 変 数 name の 値 を 表 示 し ま す 。

pushd [ -p ] [ -l ] [ -n | -v ] [ name | + n ]

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

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

rehash

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

repeat count command

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

複 数 の 変 数 を セ ッ ト し た り 、 読 み 取 り 専 用 に セ ッ ト す る た め に ひ と つ の set コ マ ン ド へ の 引 数 を 繰 り 返 す こ と が で き ま す 。 し か し 、 変 数 へ の 代 入 処 理 を 開 始 す る 前 に 変 数 展 開 処 理 が 一 度 に 行 わ れ る こ と に 注 意 し て く だ さ い 。 ま た 、 ‘=’ は name word の 両 方 と 接 し て い る か 、 空 白 で 区 切 ら れ て い る か の ど ち ら か で あ り 、 片 方 だ け と 接 し て は い け な い こ と に 注 意 し て く だ さ い 。 組 み 込 み コ マ ン ド 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 , -x setty に 、 そ れ ぞ れ ‘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 を 指 定 し た 場 合 は 、 SYSTYPE systype に 設 定 し ま す 。 systype と コ マ ン ド command を 指 定 し た 場 合 は 、 systype command を 実 行 し ま す 。 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 の 間 の コ マ ン ド を 繰 り 返 し 実 行 し ま す 。 while end は そ の 行 に 単 独 で 書 か れ な け れ ば な り ま せ ん 。 break continue は 、 ル ー プ を 途 中 で 中 断 し た り 再 開 す る 場 合 に 使 用 し ま す 。 入 力 が 端 末 の 場 合 は 、 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 に 設 定 さ れ て い る 場 合 、 periodic precmd の よ う に 振 る 舞 い ま す 。

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 と 同 名 の 環 境 変 数 と の 同 期 を 取 り ま す 。 つ ま り 、 環 境 変 数 が 変 更 さ れ る と 、 シ ェ ル は 対 応 す る シ ェ ル 変 数 を 合 致 す る よ う に 変 更 す る の で す (シ ェ ル 変 数 が 読 み 込 み 専 用 で な い 場 合 で す )。 ま た 、 そ の 逆 も 行 い ま す 。 こ こ で 、 cwd PWD は 同 じ 意 味 を 持 ち ま す が 、 こ の 方 法 で は 同 期 は 行 わ れ な い と い う こ と に 注 意 し て く だ さ い 。 ま た 、 シ ェ ル は 、 自 動 的 に path PATH の 違 っ た 形 式 を 相 互 変 換 す る と い う こ と に も 注 意 し て く だ さ い 。
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=auto ls に 渡 し ま す 。 あ る い は 、 た だ 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’ に 設 定 さ れ て い る 場 合 、 コ マ ン ド ラ イ ン 全 体 が 訂 正 さ れ ま す 。

cwd

カ レ ン ト デ ィ レ ク ト リ の フ ル パ ス 名 で す 。 シ ェ ル 変 数 dirstack お よ び 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

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

ˆ c

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

%%

‘%’ 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 (+)

設 定 す る と 、 pushd popd の 際 に デ ィ レ ク ト リ ス タ ッ ク が 表 示 さ れ な く な り ま す 。

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

bye logout の 同 義 語 と し 、 log watchlog の 別 名 と し て 扱 う 。

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 を 参 照 )。 ル ー プ と ス ペ ル 訂 正 用 の 特 別 な プ ロ ン プ ト ( prompt2 prompt3 を 参 照 )。

読 み 取 り 専 用 の 変 数 ( 変 数 置 換 を 参 照 )。

バ グ

サ ス ペ ン ド さ れ た コ マ ン ド が 再 開 さ れ た と き に 、 カ レ ン ト デ ィ レ ク ト リ が 起 動 さ れ た と き と 違 っ て い る 場 合 に は 、 起 動 時 の デ ィ レ ク ト リ を 表 示 し ま す 。 ジ ョ ブ が 内 部 で デ ィ レ ク ト リ を 変 更 す る こ と も あ り 得 る の で 、 こ れ は 間 違 っ た 情 報 を 与 え て し ま う か も し れ ま せ ん 。

シ ェ ル の 組 み 込 み 機 能 は 停 止 、 再 開 で き ま せ ん 。 ‘a ; b ; c’ の よ う な 形 の コ マ ン ド 列 を 停 止 さ せ る と き の 処 理 も あ ま り 上 品 な も の で は あ り ま せ ん 。 ‘b’ コ マ ン ド を サ ス ペ ン ド さ せ る と 、 シ ェ ル は 即 座 に ‘c’ コ マ ン ド を 実 行 し て し ま い ま す 。 alias で の 展 開 結 果 を 実 行 し て い る と き に は 、 特 に こ の 点 に 注 意 が 必 要 で す 。 コ マ ン ド 列 を () の 中 に 入 れ て 、 サ ブ シ ェ ル に 押 し 込 め て し ま う の が い い で し ょ う 。 つ ま り ‘( a ; b ; c )’ の よ う に す る の で す 。

プ ロ セ ス 開 始 後 の 端 末 出 力 の 制 御 が 原 始 的 で す 。 誰 か が 仮 想 端 末 の 良 い イ ン タ フ ェ ー ス を 作 っ て く れ る と い い の で す が 。 仮 想 端 末 イ ン タ ー フ ェ ー ス の 分 野 で は 、 出 力 制 御 に 関 し て 面 白 い こ と が た く さ ん 行 え る は ず で す 。

エ イ リ ア ス 置 換 が シ ェ ル 手 続 き の シ ミ ュ レ ー ト に 大 変 良 く 用 い ら れ ま す が 、 こ れ は あ ま り 気 の き い た も の で は あ り ま せ ん 。 エ イ リ ア ス よ り も シ ェ ル 手 続 き を 提 供 す べ き で す 。

ル ー プ の 中 の コ マ ン ド は 、 ヒ ス ト リ リ ス ト に 追 加 さ れ ま せ ん 。 制 御 構 造 は 、 組 み 込 み コ マ ン ド と し て は 認 識 さ れ ず 、 単 に 解 釈 さ れ ま す 。 し た が っ て 制 御 コ マ ン ド は ど こ に で も 置 く こ と が で き 、 パ イ プ ‘|’ と い っ し ょ に も 、 ‘&’ と ‘;’ の よ う な メ タ シ ン タ ッ ク ス と い っ し ょ に も 使 え ま す 。

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

‘:’ 修 飾 子 は 、 コ マ ン ド 置 換 の 出 力 に 使 え る べ き で す 。

ダ ム 端 末 の よ う に 、 端 末 が カ ー ソ ル を 上 に 移 動 で き な い 場 合 に は 、 ス ク リ ー ン 幅 よ り 長 い 行 の 更 新 が 大 変 貧 弱 で す 。

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

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

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

ls-F は フ ァ イ ル 名 を ソ ー ト す る と き 、 フ ァ イ ル 識 別 キ ャ ラ ク タ を 勘 定 に 入 れ て し ま い ま す 。 ま た フ ァ イ ル 名 の 中 の 制 御 文 字 を 正 し く 扱 う こ と が で き ま せ ん 。 中 断 さ せ る こ と も で き ま せ ん 。

バ グ レ ポ ー ト は tcsh-bugs@mx.gw.com ま で 送 っ て く だ さ い 。 修 正 も い っ し ょ に 送 っ て い た だ け る と あ り が た い で す 。 も し tcsh の メ ン テ ナ ン ス と テ ス ト を 手 伝 っ て 下 さ る 場 合 に は 、 本 文 に "subscribe tcsh <your name>" と 一 行 書 い た メ ー ル を listserv@mx.gw.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-F which の 組 み 込 み 、 た く さ ん の バ ク フ ィ ッ ク ス 、 修 正 と ス ピ ー ド ア ッ プ

Chris Kingsley, Caltech

高 速 ス ト レ ー ジ ア ロ ケ ー タ ル ー チ ン

Chris Grevstad, TRW, 1987

4.3BSD csh tcsh へ の マ ー ジ

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@netcom.com, 1991-1995

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

Jeff Fink, 1992

complete-word-fwd complete-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@kruuna.Helsinki.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

プ ロ ン プ ト の 中 で の デ ィ レ ク ト リ 表 示 の 拡 張 、 ellipsis rprompt

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@nifty.ne.jp>
お さ な <yasu@via2000.net>
ゆ 〜 こ <yuko@veltec.co.jp>
森 浩 二 <mori@tri.asanuma.co.jp>
NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>
中 野 武 雄 <nakano@apm.seikei.ac.jp> (JM プ ロ ジ ェ ク ト )
蔭 山 <yt-kage@cb3.so-net.ne.jp>
中 村 和 志 @ 神 戸 <kaz@kobe1995.net>
大 澤 千 敏 @ 岐 阜 <ohsawa@catv1.ccn-net.ne.jp>
熊 谷 典 大 <kumagai@home.com>
(順 不 同 )

翻 訳 に あ た り 、 JM プ ロ ジ ェ ク ト の 方 々 の 御 協 力 を 頂 き ま し た 。