2009-10-27から1日間の記事一覧

自分自身のファイル名に応じてスクリプトの動作を変える

よく似た動作のプログラムが複数必要な場合、1つのプログラムに 複数の名前のリンク作成し、呼び出された名前によってプログラムの 詳細な動作を変える方法をとることがある。 (例えばgnuzipはgzipへのリンクになっていることがある) 変数$0には実行中のスク…

コマンドラインオプションを解析する

#!/bin/sh #getopts.sh opt_f="(none)" opt_g="(none)" opt_h="NO" while getopts f:g:h flag; do case $flag in f) opt_f="$OPTARG";; g) opt_g="$OPTARG";; h) opt_h=YES;; esac done echo "-f $opt_f" echo "-g $opt_g" echo "-h $opt_h" shift `expr $OP…

テキストファイルを配列に読み込む(bash)

array=(word)と書くとカッコの中が単語に分割され それぞれの単語が配列arrayの要素として格納される IFSを改行のみのしておくと、1行が1要素の配列になる #!/bin/sh #linenum.sh if [ $# -ne 1 ]; then echo "Usage: linenum_bash.sh filename" exit 1 fi I…