Chapter 02

「nyagos」のインストール

zetamatta
zetamatta
2020.12.26に更新
修正日 修正内容
Dec.2,2020 ショートカットの先を ~\scoop\shims\nyagos.exe より ~\scoop\apps\nyagos\current\nyagos.exe へ修正(後述の補足参照)

nyagos とは、Windows用のコマンドラインシェルです。

  • Windows 用の bash とは違って、Windows のネイティブシェルであるため C:\PATH\TO という Windows ならではのパス表現がそのまま使える
  • UNIX風の操作:bash や tcsh のようなキーバインドが使える
  • 通常 GUI でしか行えない操作(ショートカット作成など)も、コマンドライン上で行えるようになる

という点が特徴で、UNIX経験が長い人のストレスがかなり軽減されることでしょう。
では、scoop を使って、nyagos をインストールしましょう。

C:\Users\hymko> scoop install nyagos
Installing 'nyagos' (4.4.5_2) [64bit]
nyagos-4.4.5_2-windows-amd64.zip (3.1 MB) [===========================] 100%
Checking hash of nyagos-4.4.5_2-windows-amd64.zip ... ok.
Extracting nyagos-4.4.5_2-windows-amd64.zip ... done.
Linking ~\scoop\apps\nyagos\current => ~\scoop\apps\nyagos\4.4.5_2
Creating shim for 'nyagos'.
'nyagos' (4.4.5_2) was installed successfully!

nyagos は(ユーザのホームディレクトリ)\scoop\shims\nyagos.exe に入っており、環境変数%PATH% 経由でアクセスできますので、そのまま現在のコマンドプロンプトから起動できます。

でも、nyagos を起動するのに、いちいちコマンドプロンプトを起動して nyagos とタイプするのも面倒です。デスクトップに起動用のショートカットを作りましょう

マウスでショートカットを作ってもよいのですが、面倒なので nyagos の内蔵コマンドでショートカットを作りましょう。まずは nyagos を起動します。

C:\Users\hymko>nyagos
Nihongo Yet Another GOing Shell 4.4.7_0-windows-amd64 by go1.14.5
(c) 2014-2020 NYAOS.ORG <http://www.nyaos.org>

次に lnk コマンドでショートカットを作ります。

$ lnk ~\scoop\apps\nyagos\current\nyagos.exe ~\Desktop\
    C:\Users\hymko\scoop\apps\nyagos\current\nyagos.exe
--> C:\Users\hymko\Desktop\nyagos.exe.lnk
$

これでデスクトップに nyagos.exe を起動させるショートカットができると思います。
今後は、このショートカットで起動される nyagos からコマンドを発行しましょう、そうしましょう。


2020.12.02 補足

以前はショートカットの先を ~\scoop\apps\nyagos\current\nyagos.exe ではなく、~\scoop\shims\nyagos.exe としていました。が、これだと問題が発生することが確認されたため、改訂しています

~\scoop\shims\nyagos.exe は nyagos 本体ではなく、起動すると子プロセスとして~\scoop\apps\nyagos\current\nyagos.exe を呼び出す起動のためだけの実行ファイルです(わたくしが作ったものではなく、scoop の仕組みの一部です)。このファイルの役割は単に環境変数PATHの肥大化を防ぐため、実行ファイルの置き場を ~\scoop\shims に集約するためだけにあると考えられます。

が、どうも ~\scoop\shims\nyagos.exe をそのまま使うと nyagos の Ctrl-C の抑制が効かなくなってしまうという問題が発生してしまうようです。対応策として下記の記事にて「scoop/shimsではなくscoop/apps以下の .exe を指定する」という方法が報告されていました。

まだ、詳しいメカニズムは分かってはいないのですが、本記事もこの方法に準拠した記載に改めています。