シェルスクリプティング言語 kitutuki

このプログラムについて
    Linuxで動くシェルスクリプト言語です。

使用上の注意
    このプログラムの実行は自己責任で行ってください。プログラムの実行という重要な操作を行うプログラムであるという認識は作者にもあり、しっかりとデバッグを行っていますが、もし見過ごしている不具合があって、実行結果によって使用者が被害を被っても作者は責任は持てません。このことが承知できる方だけ使用してください。

コンパイルの仕方
    コンパイルするためにはまずkitutukiが使っている（依存している)ライブラリをインストールする必要があります。

    kitutukiが依存しているライブラリ、プログラムは

    gcc (コンパイラ)
    Cライブラリ。
    ncurses (端末制御ライブラリ。画面に文字列を任意の場所に表示するためのライブラリ)
    oniguruma (正規表現ライブラリ。正規表現という文字列を楽に操作するため文字列処理用のライブラリです)
    libm (数学ライブラリ。三角関数や指数計算などを行えるライブラリ)
    C/migemo (日本語が変換無しのローマ字入力で検索できるライブラリ。このライブラリは無くてもコンパイルできます)
    readline (行志向のインタラクティブユーザーインターフェース作成ライブラリ）

    の７つです。

    gccはFedoraではgcc, Debianでもgccをインストールします。Ubuntuではgccはデフォルトで入っています。

    Cライブラリは大抵のディストリビューションではデフォルトで入っています。Ubuntuでは2010年2月現在ではlibc6-devという名前になっています。インストールしてください。

    ncurseseは大抵のディストリビューションで最初からインストールされていますが、インストールされているのはユーザー用のパッケージである場合が多いです。コンパイルするためには開発用のパッケージをインストールする必要があります。Fedoraでは開発用のパッケージ名は-develと名づけられていることが多いです。ncursesの場合はncurses-develとなっています。Debian, Ubuntuでは-devというのが開発用のパッケージで、ncursesの場合はlibncurses-devとなっています。

    onigurumaも大抵のディストリビューションでパッケージになっていてFedoraではoniguruma-devel, Debian, Ubuntuではlibonig-devをインストールすれば良いです。

    libmは開発用のパッケージも大抵のディストリビューションでデフォルトでインストールされているはずです。

    C/Migemoはパッケージになっているディストリビューションやなっていないディストリビューションがまちまちです。Fedoraではパッケージ名がcmigemo-develとなっています。Debian, Ubuntuではパッケージになっていないようなので以下のページでインストールしてください。

    Kaoriya.net http://www.kaoriya.net/#CMIGEMO

    ダウンロードするファイルはソースコード 1.3開発版 (MITラインセンス)がいいでしょう。コンパイル方法はダウンロードしたファイルの中のドキュメントに書いてあります。

注) 2010/02 KaoriyaのC/MigemoはUTF8の辞書ライブラリがありませんでしたorz本家に対応していただきたいのでkitutukiのC/Migemoの対応はversion 0.9.1ではできません。Fedoraだけcmigemo-develがパッケージになっているので使用できます。ユーザーができる方法としては辞書ファイルutf8に変換して/usr/share/cmigemoに置くことです。

    readlineは開発用のパッケージはデフォルトでインストールされないようです。Fedoraではreadline-devel Debian, ubuntuではlibreadline-devをインストールしてください。

    あと以下のプログラムにも依存しています。

    多言語対応ページャ lv 日本語でhelpが見たい場合は必要です。

    lvは大抵のディストリビューションでパッケージになっています。日本語でヘルプを読むために必要です。lessはディストリビューションによっては日本語が化ける場合があるようなのでページャはlvがおすすめです。

    さて依存ライブラリ、依存プログラムが全てインストールできたら

    ./configure 
    make
    sudo make install

    もしくは
    ./configure
    make 
    su
    make install

    (make installの実行には管理者権限が必要です)

    実行すれば/usr/local/binにkitutukiコマンドが, /usr/local/etc/に設定ファイルがインストールされます。

    configureでは以下のオプションが使用できます。

    --with-debug デバッグ用の実行ファイルを作成する。メモリリークの検出やgdbでデバッグできる-gオプションをgcc(コンパイラ)に付与します。
    --prefix インストールするディレクトリを指定します。たとえば--prefix=$HOMEとすると$HOME/binに実行ファイルが$HOME/etcに設定ファイルが設定されます。デフォルトでは/usr/localです。
    --with-migemo C/Migemoを有効にします。C/Migemoはインストールしただけではkitutukiで使われません。このオプションを指定して有効にしてください。
    --with-onig-dir 鬼車が標準の場所にインストールされていない場合はインストールされたディレクトリを指定します。
    --with-migemo-dir C/Migemoが標準の場所にインストールされていない場合はインストールされたディレクトリを指定します。
    --with-system-migemo-dir C/Migemoの辞書ファイルの位置を指定します。

    kitutukiはライブラリを作成するので
    
    sudo ldconfig
    
    もしくは

    su
    ldconfig
    
    を実行して共有ライブラリの検索キャッシュを更新して置いてください。

使用するファイル
    /usr/local/bin/kitutuki プログラム本体
    /usr/local/etc/kitutuki.ksh 設定ファイルのソース
    /usr/local/etc/kitutuki.kio 設定ファイルのkitutuki実行形式
    ~/.kitutuki.kio ユーザーの設定ファイルのkitutuki実行形式(/usr/local/etc/kitutuki.kioが読まれた後に読まれる）

使用するエンコード
    言語本体が扱うデータやスクリプトファイルはUTF8, EUCJP, SJISやLF,CR,LFCRのラインフィールドに対応しています。
    インタラクティブシェルの使用端末はUTF8決めうちです。UTF8端末で実行してください。

使い方
    kitutuki_helpを実行すれば使い方が見れます。
    実行には多言語対応のページャlvが必要です。

著作権
    湊大典にあります。ライセンスはGPLライセンスとします。再配布するときは一報してもらえると助かります。

