経緯
私は最近まで『改訂版 Mac OS Xターミナルコマンド・ポケットリファレンス、MINAKAMI Shinobu、2006第2版、技術評論社、ISBN4-7741-2877-5』を参考にしていました。でも「bash→zsh』に乗り換えると、流石に最近のMacに則した解説書が欲しくなりました。
そこで次の本を購入しました;
- “Macintosh Terminal Pocket Guide Third release”,
- Daniel Barrett, 2012/7/2,
- O’Reilly, ISBN: 978-1-449-32834-4.
疑問点
以前から釈然としていなかった「echoのオプション」を見ると
・MINAKAMI版, p53: 「-n」
・Barrett版, p170: 「-n, -e, -E」
zshを運行している私の経験から見ると、Barrett版が正しいと思います。
そこで、調べて見ました。結果を図1に示します;
Figure 1. ' shell built-in echo' and '/bin/echo' |
大雑把にいえば;
- 日常的に使っている「echo」は『shell built-in echo』である。
- 日常的に使っている「man echo」は『/bin/echoのマニアル』である。
従って、zshで使っている「echo」の挙動を知るには、我々は図2の様な「zshのオンライン・マニュアル」を見るべきです。
と書きましたが、間違えでした。次の図3にお進みください。ただし、最新バージョンの確認には使えますので、図2はそのままとします。
Figure 2. zsh: Shell-Builtin-Commands:: echo |
ターミナルでのzshマニュアルズ
Figure 3. “echo” part of the zshbuiltins.pdf displayed in a preview.app. |
図2を書いている頃は、 私は「man zsh」だけがzshのオンライン・マニュアルと思っていました。でも、試しにターミナルで「man zshall」と叩くと、zshallがターミナル上に現れました! 当然「zshbuiltins」もあります。 zshの資料検索にとってこれはとてもありがたいことです。
『man→ pdf』の変換には、「man2pdf」という手作スクリプトを使っています。pdfにはコメントやブックマークを付けたりできるからです。
そこで「zshマニュアル(pdf)に対する簡易検索と表示」をするスクリプト(zzz)を試作しました。
Figure 4. A typical operation example of zzz. |
pdf資料の検索に「grep」を使うと、不安定な出力が出ます。そこで「mdfind」で代用しています。
「mdfind」: 「Spotlight search」のターミナル版です。
echoの有効活用
「echo -E」は、改行区切りの処理に有用と思う。特に「\n, \t」がコンパクトに表示されるので、問題把握が迅速になると感じます。
メモ
- 今後、コマンドとmanが食い違う場合、「where」を用いてコマンドが複数あるかどうかをチェックから始めよう。
- zzzは安定したら、公開します。
____
この記事の履歴
- 開始 2015-05-18(月) 22:16:56
- 追加 2015-05-23(土) 18:51:39 ターミナルでのzshマニュアルズ
0 件のコメント:
コメントを投稿