nyaos - 猫と月で戯れる
ひょんな事で、windowsで動くbashを探していてnyaosというイケてるシェルを見つけた。(コマンドプロンプト de UNIX - 愚鈍人)
luaというスクリプト言語が組み込まれていて、いろいろと面白い使い方ができる。
インストールはNYAOS.ORG - NYAOS 3000.jaからダウンロードしてきたファイルを解凍,適当なデレクトリに配置するだけ。
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コマンドにてvbsやrubyなども関連付けされていて 、拡張子の付いたファイルを指定するだけでスクリプトを実行できる。
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のお役立ちスクリプトたちを探してみた。
-
bashみたいに Alt-. で前回の引数を挿入する - MHI 5.0
bashのALT+.キーのように、CTRL+Jキーでヒストリーから最後のコマンドライン引数を拾ってきてコマンドラインに出力する事ができる。
-
NYAOSでshebang - メモ@wantoraを参照。
nyaosでshebangができる。
-
[NYAOS][Lua] Windowsのデフォルトの PATH をコマンドラインから変更する - MHI 5.0
_nya.dに「gpath.lua」というスクリプトが既に含まれているのだが、このスクリプトによりマイコンピュータ→プロパティ→詳細設定→環境変数による環境変数のダイアログを開かずに環境変数を変更する事ができる。
関連カテゴリ&記事