zshの本
2009年6月17日紙版発売
2022年2月10日電子版発売
広瀬雄二 著
A5判/544ページ
定価3,520円(本体3,200円+税10%)
ISBN 978-4-7741-3864-0
ただいま弊社在庫はございません。
書籍の概要
この本の概要
zshはBourne Shellをベースにtcshやkshの拡張機能を取り込んだUNIX系シェルの1つですが,“z”という文字が表しているようにまさに最後のシェルと呼ばれるにふさわしい高機能なシェルです。しかし,bashやtcshに比べて,情報が少ないといった側面もありました。本書では,zshの基本的な使い方からカスタマイズまでを実例を交えながら網羅的に紹介しています。本書を片手に,これまでbashで十分だ感じていた人もzshの奥深い世界を体験してみてはいかがでしょうか。
こんな方におすすめ
- UNIXシェルを使いこなしたい人
この書籍に関連する記事があります!
- zshで究極のオペレーションを
- 技術評論社から6年越しの企画『zshの本』が6月17日に発売されました。この発売を記念し,zshをテーマにした短期連載をお送りします。
目次
第1章 zshにより広がる世界
- 1.1 デモンストレーション
- 1.2 なぜzshか
第2章 zshのインストールと起動
- 2.1 zshのインストール
- 2.1.1 ソースの入手とコンパイル
- 2.1.2 ログインシェルの変更
- 2.2 zshの起動
- 2.2.1 zshの初期化ファイル
- 2.2.2 起動と調整
- 2.3 サンプル設定ファイル
- 2.4 シェル変数とシェルオプション
- 2.5 コマンドライン操作の基本
- 2.5.1 コマンド起動の基本書式
- 2.5.2 コマンド前置
- 2.5.3 コマンドの検索位置
- 2.5.4 コマンド検索の制御
- 2.5.5 コマンドの終了値
- 2.6 ディレクトリ操作
- 2.6.1 cdコマンド
- 2.6.2 ディレクトリとシンボリックリンク
- 2.6.3 cdコマンドのオプション
- 2.6.4 ディレクトリスタック
- 2.6.5 ディレクトリ移動の挙動制御
第3章 ヒストリ
- 3.1 ヒストリ利用のための変数
- 3.2 ヒストリ展開制御
- 3.2.1 基本的ヒストリ展開
- 3.2.2 ヒストリ編集子
- 3.3 fcコマンド
- 3.3.1 ヒストリリストの参照
- 3.3.2 ヒストリの編集と実行
- 3.3.3 ヒストリファイルの入出力
- 3.3.4 ヒストリリストのスタック待避
- 3.4 zsh拡張ヒストリ制御オプション
第4章 コマンドライン編集
- 4.1 編集インタフェースの選択
- 4.2 標準キー割り当て
- 4.2.1 数引数
- 4.2.2 emacsキーマップの標準キー割り当て
- 4.2.3 viキーマップの標準キー割り当て
- 4.3 キーカスタマイズ
- 4.3.1 bindkeyコマンド
- 4.3.2 キーカスタマイズの例
- 4.4 プロンプトの調整
- 4.4.1 プロンプト変数で利用できる記号
- 4.4.2 プロンプト置換を制御するオプション
- 4.4.3 プロンプト設定例
- 4.4.4 プロンプトテーマ
- 4.5 その他のZLE関連コマンド
- 4.5.1 varedコマンド
- 4.5.2 zleコマンド
第5章 標準コマンドライン補完
- 5.1 zshの補完機能
- 5.1.1 2つの補完システム-compctlとcompsys
- 5.1.2 補完システムの導入
- 5.2 補完システムの利用
- 5.2.1 コマンド名補完
- 5.2.2 ファイル名補完
- 5.2.3 変数補完
- 5.2.4 ユーザ名・ホスト名補完
- 5.2.5 プロセス・ジョブ補完
- 5.2.6 その他文脈に応じた補完
- 5.2.7 文脈から独立した補完
- 5.3 補完に関するシェルオプション
- 5.4 補完スタイル
- 5.4.1 コンテクストとスタイル
- 5.4.2 コンテクスト値のセットのされ方
- 5.5 代表的なスタイル
- 5.5.1 スタイルの設定と削除
- 5.5.2 補完提示方式の変更
- 5.5.3 一覧の表示属性設定
- 5.5.4 補完のグループ化
- 5.5.5 マッチ仕様の調整
- 5.5.6 起動コマンドの変更
- 5.5.7 候補の偽造
- 5.5.8 コマンドごとのファイル検索パターンの調整
- 5.5.9 その他の主な補完スタイル
- 5.6 様々なコンプリータ
- 5.6.1 コンプリータの指定
- 5.6.2 近似補完(_approximate)
- 5.6.3 綴り修正(_correct)
- 5.6.4 単語途中の補完(_prefix)
- 5.6.5 除外パターンの復活(_ignored)
- 5.6.6 細かく制御可能な展開(_expand)
- 5.6.7 パターンを含む補完候補の選別(_match)
- 5.6.8 前回の補完の候補一覧をそのまま表示(_oldlist)
- 5.6.9 マッチするものすべての挿入(_allmatches)
- 5.6.10 エイリアスの展開(_expandalias)
- 5.6.11 ヒストリ中の単語補完(_history)
- 5.7 ラベルつきコンプリータによる多段階補完
- 5.8 補完設定の追加と削除
- 5.8.1 compdefと補完関数
- 5.8.2 compctlとの共存
- 5.8.3 基本タグ補完関数
- 5.9 補完スタイルのまとめ
第6章 変数
- 6.1 シェル変数と環境変数
- 6.2 プロセスへの環境変数渡し
- 6.3 クォート
- 6.4 値の展開
- 6.5 zshの変数の型
- 6.5.1 typesetコマンド
- 6.5.2 シェル変数と環境変数の連動
- 6.5.3 変数の属性設定
- 6.5.4 typesetコマンドのオプション
- 6.5.5 setコマンド
- 6.6 添字
- 6.7 変数展開フラグ
- 6.8 添字用変数展開フラグ
- 6.8.1 添字用展開フラグの使用例
- 6.9 変数展開制御編集子
- 6.10 変数定義の抹消
- 6.11 read
- 6.12 特殊変数
- 6.12.1 シェルが参照する変数
- 6.12.2 内部変数
第7章 ファイル名生成
- 7.1 強力なファイル名生成機能
- 7.2 グロッビング記号
- 7.3 優先順位
- 7.4 ファイル修飾子
- 7.4.1 ファイル修飾子一覧
- 7.4.2 ファイル修飾子の組み合わせ
- 7.5 展開編集子
- 7.6 グロッビングフラグ
- 7.7 近似マッチ
第8章 その他の展開
- 8.1 パス名展開
- 8.1.1 ~展開
- 8.1.2 名前付きディレクトリ
- 8.1.3 コマンドのフルパス展開
- 8.1.4 変数への代入とファイル名展開
- 8.2 プロセス置換
- 8.2.1 プロセス置換の使用例
- 8.3 コマンド置換
- 8.3.1 バッククォート
- 8.3.2 $(...)
- 8.3.3 コマンド置換と単語分割
- 8.4 ファイル入力置換
- 8.4.1 全行からのパターン抽出
- 8.4.2 特定のパターンを含む行からのパターン抽出
- 8.4.3 特定のパターンを含まない行からのパターン抽出
- 8.5 ブレース展開
- 8.5.1 単語展開
- 8.5.2 整数範囲展開
- 8.5.3 文字範囲展開
- 8.5.4 ブレース展開の注意点
- 8.6 算術展開
- 8.6.1 利用できる演算子
- 8.6.2 基数指定
- 8.6.3 数式評価
- 8.6.4 数学関数
第9章 エイリアス
- 9.1 エイリアスの定義と参照
- 9.2 aliasコマンド
- 9.3 接尾辞エイリアス
- 9.4 グローバルエイリアス
- 9.5 エイリアスの回避
第10章 構文
- 10.1 コマンドが返す値
- 10.2 選択実行(ANDとOR)
- 10.3 連続実行
- 10.4 バックグラウンド実行
- 10.5 サブシェルとグループ化
- 10.5.1 サブシェル
- 10.5.2 グルーピング
- 10.6 条件式
- 10.7 制御構造
- 10.7.1 if
- 10.7.2 case
- 10.7.3 select
- 10.7.4 for
- 10.7.5 while
- 10.7.6 until
- 10.7.7 repeat
- 10.7.8 breakとcontinue
第11章 関数
- 11.1 関数の定義と抹消
- 11.2 関数からの復帰
- 11.3 位置パラメータ
- 11.3.1 位置パラメータ操作コマンド
- 11.3.2 引数解析の例
- 11.4 変数の束縛
- 11.5 関数のオートロード
- 11.5.1 autoload
- 11.5.2 オートロード関数定義ファイル
- 11.5.3 ksh風オートロード
- 11.5.4 autoloadコマンド
- 11.5.5 関数のコンパイル
- 11.6 特殊関数
第12章 ファイル記述子の操作
- 12.1 ファイル記述子
- 12.2 dupシステムコール
- 12.3 入出力のリダイレクト
- 12.4 ヒアドキュメント
- 12.5 ヒアストリング
- 12.6 コマンドを伴わないリダイレクト
- 12.7 パイプ
- 12.7.1 パイプとサブシェル
- 12.8 マルチIO
- 12.9 ファイル記述子処理例
- 12.9.1 入出力の切り替え
- 12.9.2 標準出力と標準エラー出力
- 12.9.3 エラー出力の加工(汎用版)
- 12.9.4 エラー出力の加工(zsh版)
- 12.9.5 ファイル記述子の動的割り当て
- 12.10 コプロセスとの双方向パイプ
第13章 ジョブ制御とシグナル処理
- 13.1 ジョブ操作
- 13.2 ジョブ番号とジョブ指定
- 13.3 シグナル送信
- 13.4 シグナル捕捉
- 13.4.1 trap
- 13.4.2 TRAP関数
- 13.4.3 特別なシグナル
第14章 その他のコマンド
- 14.1 システムリソースへのアクセス
- 14.1.1 リソースリミットの設定と解除
- 14.1.2 リソースリミット設定例
- 14.2 値の出力
- 14.2.1 echo
- 14.2.2 print
- 14.2.3 printf
- 14.2.4 printf使用例
- 14.3 ハッシュ表の操作
- 14.4 コマンド解釈の制御
- 14.5 他のシェルのエミュレーション
- 14.5.1 エミュレーション関連のオプション
- 14.6 計時情報出力
- 14.7 ファイル作成モードマスク
- 14.8 拡張モジュールのロード
- 14.8.1 zmodloadコマンド
- 14.8.2 主なモジュール
第15章 補完のカスタマイズ
- 15.1 compctlとcompsysの選択
- 15.2 compctl
- 15.2.1 補完対象の単純選択
- 15.2.2 特別な位置の補完の設定
- 15.2.3 補完定義の一覧出力
- 15.2.4 段階的選択補完
- 15.2.5 補完挙動の調整
- 15.2.6 拡張補完(条件付き補完)
- 15.2.7 候補一覧のグルーピング
- 15.2.8 関数による補完単語生成
- 15.2.9 compctlの設定例
- 15.3 compsys
- 15.3.1 補完カスタマイズのレベル
- 15.3.2 compaddによる補完定義
- 15.3.3 タグ・スタイルに対応した補完定義
- 15.3.4 _argumentsによる補完定義
- 15.3.5 _argumentsによる引数仕様記述
- 15.3.6 補完定義読み込みの自動化
- 15.3.7 状態を追跡した補完
- 15.3.8 複数のタグの補完
- 15.3.9 複数タグ補完の別法
- 15.3.10 ユーザ定義スタイルの尊重
- 15.3.11 補完コンテクストの意図的操作
- 15.3.12 複合文字列の補完
- 15.3.13 サブコマンドごとの候補セット切り替え
- 15.3.14 _argumentsのその他のオプション
- 15.3.15 様々な補完アクション
- 15.3.16 怠惰補完
- 15.4 compctlからcompsysへの移行
- 15.4.1 単純選択オプションの置き換え
- 15.4.2 拡張補完の置き換え
第16章 ウィジェット
- 16.1 ウィジェット作成の指針
- 16.2 ウィジェット内で有用な変数
- 16.3 zleコマンド
- 16.4 ウィジェット作成例
- 16.4.1 zsh数字インベーダーゲーム
- 16.4.2 ゲームに必要な要素
- 16.4.3 関数の作成とウィジェット登録
- 16.5 補完ウィジェット
- 16.5.1 補完ウィジェット定義の流れ
- 16.5.2 補完ウィジェット定義例
- 16.6 主な寄贈ウィジェット
- 16.6.1 単語移動のカスタマイズ select-word-style
- 16.6.2 tcsh風のヒストリ検索 history-search-end
- 16.6.3 複数行ヒストリ対応の検索 up-line-or-beginning-search
- 16.6.4 予測入力 predict-on
- 16.6.5 最後の単語を適切に選ぶ smart-insert-last-word
- 16.6.6 有名なゲーム tetris
付録A ヒストリ展開記法一覧
- A.1 イベントの選択
- A.2 選択したイベントの引数選択
- A.3 ヒストリ編集子
- A.4 ヒストリに関連する変数
- A.5 ヒストリに関連するオプション
付録B 変数展開記号一覧
- B.1 値の展開
- B.2 値の加工
- B.3 変数展開フラグ
- B.4 添字用展開フラグ
- B.5 変数展開制御編集子
- B.6 typesetのオプション
- B.7 readのオプション
- B.8 特殊変数
付録C ファイル名生成記法一覧
- C.1 グロッビング記号
- C.2 ファイル修飾子
- C.3 ファイル展開編集子
付録D オプション一覧
- D.1 1字オプション
- D.1.1 zshモードの1字オプション一覧
- D.1.2 sh/kshモードの1字オプション一覧
この本に関連する書籍
-
[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる
定番の1冊『シェルスクリプト基本リファレンス』の改訂第3版。シェルスクリプトの知識は,プログラマにとって長く役立つ知識です。本書では,複数のプラットフォームに...
-
[改訂新版]シェルスクリプト基本リファレンス ― #!/bin/shで,ここまでできる
『シェルスクリプト基本リファレンス』の改訂新版。シェルスクリプトの知識はプログラマにとって,一度覚えると長く役立つ知識です。さらに,基本のシェル「#!/bin/sh」...
-
vi/Vimコマンドポケットリファレンス
viはEmacsと共にUNIX環境で人気がある,キーボード操作が主体のテキストエディタであり,Linuxの世界でもviクローンである「vim」が広く使われています。本書はviを本格...
-
Subversion入門
本書は,バージョン管理システムとして現在広く使われているSubversionについて,初歩から解説した入門書です。Subversionクライアントの使い方から始まり,サーバの構...
-
Linuxシステムコールプログラミング
本書はC言語プログラムからシステムコールを呼び出す技法について解説します。システムコールの基礎から関数の使い方,最終的にはシステムコールを利用した簡易コマンド...
-
ゲームで極める シェルスクリプトスーパーテクニック
シェルスクリプトはごく簡単な処理しかできない,と思っている方も多いでしょう。しかし,実は画面表示の制御やリアルタイムの入出力にも対応できるのです。本書ではゲ...
-
シェルスクリプト ポケットリファレンス 〜bash編
Linux環境で利用されるシェルスクリプトの基本と目的別のスクリプトの書き方リファレンス。 目的別リファレンスの部分では,クライアント環境向け,システム管理者向け...
-
シェルスクリプト基本リファレンス
「シェルスクリプトの移植性」に着目した初学者向けリファレンス。 Linuxを中心に標準で使用されているbashと,bashのベースとなっているBourne Shell(sh)を対象に,...