メモの日々


2005年10月06日(木) [長年日記]

  • 今日は耳鳴りがする。
  • 歯抜いたら電動歯ブラシは欲しくなくなった。

[unix][shell] シェルスクリプト (bash)

今日はシェルスクリプトにちまちまとエラー処理を追加したりとかしてた。退屈だがシェルスクリプトの勉強にはなる。どうせすぐ忘れるけどな。

せっかくなのでちょっとメモしておこうかな。

マニュアルの目次

いきなりシェルスクリプトと関係ないけど、JMってページの最後に目次があるのか。今まで見えてなかった。便利。

終了ステータス

直前のコマンドの終了ステータスは

$?

で参照できる。これすぐ忘れる。

終了ステータスの説明はここにあった。

exit

exitは組み込みコマンド

exit 10

とすると終了ステータスは10になる。普通だ。で、

exit

としたときは最後に実行したコマンドの終了ステータスになる。なるほど。

何もしない

:

と書くと何もしない。これも組み込みコマンド

分岐

コマンドの処理結果で分岐したいときは

if コマンド; then
    # コマンドが成功したとき(0を返したとき)
else
    # コマンドが失敗したとき(0以外を返したとき)
fi

こうかな。複数のコマンドに対し

if コマンド1     \
    && コマンド2
then
    # コマンド1が成功し更にコマンド2も成功したとき
else
    # そうじゃないとき
fi

とかも書ける。ifの後に!を続けると真偽を反対にできて

if ! コマンド; then
    # コマンドが失敗したとき(0以外を返したとき)
fi

とか書ける。普通か。

で、エラー処理を書くのに

if コマンド; then
    :
else
    exit   # コマンドが失敗したから終了する
fi

とすると「コマンド」がエラーになったときにこのスクリプトの終了ステータスは「コマンド」の終了ステータスになるのに、

if ! コマンド; then
    exit   # コマンドが失敗したから終了する
fi

とすると「コマンド」がエラーになったときにこのスクリプトの終了ステータスが0になってしまいちょっとはまった。

比較

if [ $a = $b ]; then
    # $aと$bが等しいとき
fi

のように書く。「=」と書くと文字列として比較して、「-eq」と書くと整数として比較するようだ。整数でないものを「-eq」で比較するとエラーになる。

[web][soft] 「Selenium ver.0.5 勝手にまとめサイト」

Seleniumのこと色々書いてくれているサイトがあったのでメモ。

やること

  • ブラウンの安い電動歯ブラシ買う
  • 蛍光灯を捨てる
本日のツッコミ(全1件) [ツッコミを入れる]
TrackBack (2006年03月22日(水) 21:54)

http://ogawa.s18.xrea.com/tdiary/20060322.html#p03<br>メモの日々<br>Seleniumを使った<br>Seleniumを使ったのでトラックバック