2008-04-05から1日間の記事一覧

追記(2008/04/05)

getopt(1)(バイナリコマンド)、getopts(1)(bash組み込み)っていうのがあった。恥ずかしながら知らなかった。やっぱり欲しい機能は誰でも同じみたいだ。アプローチは似ているが、getopt系だとその後、スクリプト側で更に後処理(シェル変数への格納など)…

追記(2008/07/20)ソフトウェアの名前を"shargs"に変更した

ソフトウェアの名前を args から shargs に変更した。Solarisに args というソフトウェアがあるので名前のコンフリクトが起きないように変更した。変更はソフトウェアの名前のみで、環境変数の名前はそのままにしておいたので、呼び出すプログラムは、". /us…

shargsの解説

15行目〜23行目:引数の定義。後述する「shargsの使い方」にあるように、shargsを呼び出すメインのシェルスクリプトで定義されている場合は、その定義を使用する。shargsを組み込んで使う場合はここの定義を適宜変更して使う。 35行目〜49行目:引数の定義に…

program list of "shargs" without line-number

コピペしやすいように行番号なしのプログラムを載せておく。 #! /bin/sh # The shell script for shell script's argument processing: # shargs Ver 0.003 (2008/07/20) # Copyright (C) 2008 Adsaria # This program is free software; you can redistribu…

shargsのサンプルと留意点

名前付き出現順引数のシェル変数は"_"が2つ 出現順引数の値は基本的にシェル変数 ARGS_1、ARGS_2と順番に格納されるが、対応する名前付き引数(ARGS_DEF_arg_namelist に定義されているもの)は"ARG__名前"というシェル変数にも格納されるが、その時アンダス…

shargsのプログラミング哲学(?)

shargsは次のような基本的な考え方に基づき作成してみた 引数の読み込み処理だけを行い、エラー処理を含めて、その結果に伴うロジックはメインとなるシェルスクリプトの方で行なう。エラーがあった場合、無視して処理を続けるのか、Usageメッセージを出して…

shargsの使い方

shargsは単体でも実行できるが、勿論、これだけでは何の意味もない。このshargsのスクリプトをメインとなるシェルスクリプトに組み込んで使うか、メインとなるシェルスクリプトから"source"コマンド(もしくは"."コマンド)で呼び出して使う。(shargsは150…

program list of "shargs"

色々と手を加えていたらいつの間にか150行を越えてしまったが、やっていることは非常に単純なので特に説明は要らないと思う。 1 #! /bin/sh 2 3 # The shell script for shell script's argument processing: 4 # shargs Ver 0.003 (2008/07/20) 5 # Copyrig…

シェルスクリプトの引数処理をモジュール化

別にシェルスクリプトに限らないが、プログラムを作る時に引数の処理は大体、後回しになってしまう。そうするとプログラムを書いている途中では定数(や特定の値を代入した変数)を使ってハードコーディングしてしまって、後で直すのが なお更面倒になってし…

シェルスクリプトの引数を処理するためのシェルスクリプト

シェル スクリプト コマンドで汎用的に使える"引数を処理するための"シェル スクリプトを作成した。