nyaos - 猫と月で戯れる

ひょんな事で、windowsで動くbashを探していてnyaosというイケてるシェルを見つけた。(faviconコマンドプロンプト de UNIX - 愚鈍人

luaというスクリプト言語が組み込まれていて、いろいろと面白い使い方ができる。


インストールはNYAOS.ORG - NYAOS 3000.jaからダウンロードしてきたファイルを解凍,適当なデレクトリに配置するだけ。

環境変数HOMEを設定して ホームデレクトリを設定。

nyaosのドキュメント

添付の「nyaos_ja.txt」を参照。

Os/2用のドキュメントのようだがNyaos Manualも参考になるカモ。

nyaosのカスタマイズ

nyaosインストールデレクトリの「_nya」ファイルを編集する。

NYAOS を使おう! - 基本機能」などを参考に、「_nya」ファイルに以下の設定を追加.

alias

aliasを設定して(7,8行)、サクラエディタMeadowを起動できるようになった。

historyを保存

historyを保存するためにhistory保存ファイル名を指定して「option savehist」が必要だ。(11行)

ここでは、「.nyaos_history」というファイル名を指定。

エクスプローラーから先頭に「.」の付くファイルを作成する事はできないが、コマンドラインからなら作成可能。

以下のようなコマンドなどを実行してファイルを作成。

echo > .nyaos_history

プロンプトの設定

プロンプトの文字や色も12行目の「option prompt」にて設定。

nyaosとluaスクリプト

nyaosにはluaというスクリプト言語が組み込まれていて、luaを使ってnyaosをカスタマイズする事ができる。

NYAOS.ORG - What powered by Luaを参照。

luaスクリプトの実行

デフォルトで拡張子luaにluaプログラムが関連付けられていて、コマンドラインからファイル名を指定するだけでluaスクリプトを実行できる。

別途、luaの実行環境をインストールする必要はない。

suffixコマンドによる拡張子の関連付け

「_nya」ファイルには他にも、suffixコマンドにてvbsrubyなども関連付けされていて 、拡張子の付いたファイルを指定するだけでスクリプトを実行できる。

luaスクリプトの実行のいろいろ

  • 「nyaos -f ファイル名」でもnyaos の luaプログラムを実行できる。
  • nyaosにpathがとおっていれば、MSDOSのコマンドプロンプトからでもnyaos -fでluaスクリプトの実行が可能である。
  • 「lua_e "luaプログラムのコード"」にてnyaosのコマンドライン上でをluaコマンドなどを文字入力してluaプログラムを実行できる。

_nya.dデレクトリに置かれたluaスクリプト

「_nya」ファイルにはnyaosインストールデレクトリ\_nya.d以下のスクリプトをロードするコードが記述されており、_nya.dデレクトリに置かれた拡張子.nyと.luaのスクリプトがnyaos起動時に実行される。

_nyaファイルからの抜粋

このデレクトリに置かれたスクリプト(zetamatta / _nya.d / source / ― Bitbucket)は、nyaosとlua言語を学ぶ際のサンプルスクリプトとしてみても、非常に参考になると思う。

この中の「gui_cd.lua」というスクリプトについて読み解いていく事にする。

nya.dデレクトリのgui_cd.luaからの引用(1部を修正)

このスクリプトにはバグがあるようで、上記のコードでは10行目を少し修正している。(folder.self.pathの前にnotを追加)

6行目のnyaos.command.cdにて、nyaosのコマンドラインで実行されるcdコマンドの動作を、このfunctionに置き換える事を意味しているようだ.

 

functionの引数は、コマンドライン上で入力されたcdコマンドの引数をうけとるためのもの。

 

このスクリプトを実行するには、nyaosのコマンドラインより「cd @」と入力する。

するとフォルダ参照ダイアログが表示されてCUIなのに、GUIでデレクトリを選択してデレクトリを移動できる。

 

面白いのは8行目で、nyaos.create_objectを使ってCOMオブジェクトを作成して使う事ができる事を示している。

ここでは、Shellオブジェクトの BrowseForFolderメソッド(BrowseForFolder メソッドを参照)を使ってフォルダ参照ダイアログを表示している。

 

COMオブジェクトについては他にもいろいろなもの使える。

確認はしていないが、BASP21(BASP21 DLL)なども使えるはずだ。

WSHなどの解説をおこなっているサイトを検索すると、例えば「スクリプトのおもちゃ箱」など、COMオブジェクトについてのいろいろ参考になるサイトがでてくる。

その他/Nyaosのお役立ちスクリプトたち

ネットでNyaosのお役立ちスクリプトたちを探してみた。

関連カテゴリ&記事

 

LAMP/XAMPPの参考書 /  プログラム開発の参考書 /  コンピュータ・ITの参考書

 

ページのトップへ戻る