- PR -

シェルスクリプト内のビット操作

1
投稿者投稿内容
ゆいな
ベテラン
会議室デビュー日: 2006/01/19
投稿数: 89
投稿日時: 2006-05-01 16:01
シェルスクリプト内でビット操作をする必要があります。
あるプログラムを実行すると、リターン値は以下の仕様であり
 警告Aの時:0x01
 警告Bの時:0x02
 警告Cの時:0x04
 警告Dの時:0x08
 警告Eの時:0x16
そのリターン値をシェルスクリプト内でハンドリングする必要があります。

例えば、リターン値が0x03だったら
 echo "警告Aです。"
 echo "警告Bです。"
を標準出力します。

そこで、スマートなコーディングを検討していますが
なかなかうまくいきません。

ご存知の方、ご教示願います。
よろしくお願いします。
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2006-05-01 16:44
外部コマンドを一切使ってはいけない場合は厳しいですね。その例だとたかが32通りしかないので、32回 if で判定してダラダラと書くぐらいしか思いつきません。

外部コマンドを使って良いなら、awk や perl で簡単にできますね。expr で / と % を使ってビット判定することもできます。
ゆいな
ベテラン
会議室デビュー日: 2006/01/19
投稿数: 89
投稿日時: 2006-05-01 16:53
質問のし方が悪かったようで、すみません。

外部コマンドは使用可能です。
awkが良いのですが、サンプルはございますか?
1

スキルアップ/キャリアアップ(JOB@IT)