2019年6月28日金曜日

読書環境

今日読んだ本、Small, Sharp Software Tools: Harness the Combinatoric Power of Command-Line Tools and Utilities (Brian P. Hogan(著)、Pragmatic Bookshelf)の感想。

次期Windows 10のアップデートでWindows Terminalが登場して、コマンドプロンプト(cmd.exe)やPowerShellがそこで使えるようになるみたいだし、コマンドを使いこなせたらと思って本著を入手。商品説明、内容紹介に

Windows 10
とあったし。あと、ノートパソコンにをMacBook ProからWindowsノート(ThinkPad)に乗り換えたから、せっかくならコマンドプロンプトを活用したい気持ちもあったから。

早速本著を読み始めると、本著の基本的な環境はUbuntu、Bash、GNU版のコマンドだった。上記にWindows 10とあった書いたけど、よく見てみるとそのあとに

using the Bash shell.
という記述が。すっかり見落としてた。本著を読み進めると、Windows 10というのは、Windows Subsystem for LinuxのUbuntu、あるいはVirtualBoxで仮想マシンでのUbuntuという意味だった見たい。ちょっとがっかり。もちろん見落としと早とちりがいけなくて本著が原因ではないけど。

せっかくのWindowsだしそこで補助的、テスト目的等以外でSubsystem for Linuxを使うなら、最初からWindowsではなくUbuntuをインストールすればいいし、Subsystem for Linuxの活用は見送ることに。普段WindowsだけではなくmacOSも使用してるから、そちらで本著のことを活かせばいいかなぁとも思ったけど、macOSのコマンドはおそらくBSD版のコマンドだろうしGNU版の互換性の心配があったり。しかも、次期macOS Catalinaでは標準のシェルがBashからZshになるみたいだし。ただ、せっかく入手したから、活用できるかできないかは置いておいて、とにかく読み進めることに。

読み進めていくと、最初にUbuntu、Bash、GNU版のコマンドラインツールを前提としてるとの記述があったけど、macOSはBSD系のコマンドについての解説や注釈、違い等の記述がかなりあったから、互換性の心配は読み進めていくうちになくなっていった。ただ実用的な支障はおそらくないだろうけど、macOSでの各ツールのインストールのためのパッケージマネージャーがHomebrewのみだったのがMacPortsユーザーとしてはMacPorts、あるいはHomebrewとMacPortsの両方での解説があると嬉しかったかも。

期待と違ったこと、あるいは勘違いしてたことばかり挙げたけど、他にはないmacOSのみの機能の紹介もあったから、嬉しかったこともいろいろあったり。だから結局は満足。あと、Windowsに関しても、過去にGitをインストールした時についてきたGit Bashでも十分使えそうなことが多かったから、それについても満足。あとは、本著とは関係ないけどWindows TerminalでGit Bashが使えるかどうかが気になったり。

内容は、基本的なコマンドや実際に役立ちそうなコマンド、方法を網羅してる感じ。また、テキストエディタはviでもemacsでもなくnanoを使用してたり、入門書としても最適な一冊。

今後の方針としては、互換性がない箇所については柔軟に受け入れつつ、sedやawk、あるいはシェルスクリプト等は本著の例を実行しつつも、PerlのワンライナーやPython等で同じことが出来ないか考えてみたりして、互換性やポータブル性、クロスプラットホーム性を確保出来ないか考えながら取り組んでみることに。あと、壊れてもいい仮想マシンの環境は、特にmacOSではVirtualBoxではなく使用中のVMware Fusion上にUbuntuを構築することに。

ということで、まず最初から最後まで読み終えたから、次は実際にコマンドを実行しながら、コマンドラインツールを今まで以上に活用できたらいいなぁと思った今日この頃。

0 コメント:

コメントを投稿