タグ

2011年10月29日のブックマーク (2件)

  • 256colorlib.shをスクリプトから生成して動作を高速化・更にzshのプロンプトの色変更にも使用できるようにする - 試験運用中なLinux備忘録・旧記事

    「256色拡張の端末で色変更を比較的簡単に行うための変数を定義するスクリプトを作成」で作成した256colorlib.shはループの中で計算やフォーマット付け、代入などの作業を行っていたため、処理に時間がかかっていた。 シェルの初期化ファイルで実行しておいてスクリプト側を参照するという形もいまひとつで、結局のところ、スクリプト内で行っているのは変数への代入だけとなっているため、このスクリプト自体を自動生成してしまうことにした。 下のコードを実行*1すると、256colorlib.shと等価なコードを標準出力に出力する。生成されたスクリプトの呼び出し方は変わらないが、その中では主に代入しか行わないため、処理があっという間に終了し、待たされることはなくなる。 また、今回、.zshrcの中でプロンプトの色指定に使用する形での出力を行うオプション(-z)も付けた。 ファイル名: gen-256co

    256colorlib.shをスクリプトから生成して動作を高速化・更にzshのプロンプトの色変更にも使用できるようにする - 試験運用中なLinux備忘録・旧記事
    hi_igu
    hi_igu 2011/10/29
  • コマンドが失敗したらプロンプトを赤くする - blog.8-p.info

    しばらく前から、コマンドの終了ステータスをプロンプトの色に反映させるようにしている。 終了ステータスとは C言語なら int main(int argc, char* argv[]) { ... return 0; } この return している 0 が終了ステータス。この整数値の下位 8bit がプロセスの終了時に親 (そのプロセスを起動したプロセス) にわたる。 終了ステータスの指定方法はいろいろある。C言語の場合 main 関数の戻り値以外にも exit 関数の引数でも指定できる。Ruby, Perl の場合、そもそも main 関数は無くて exit 関数に引数を与える方法だけがつかえる。 この値はシェル上で $? で参照できる。 % perl -e 'exit(0xdead)'; echo $? 173 % 慣例として、正常終了のときは 0 を返すことになっている。 % ls

    hi_igu
    hi_igu 2011/10/29
    prompt