2017年03月16日

bashである値を探す

もういい加減、pythonなりperlなりつかってもいいルールにしてくれよ。
linuxだよ、linux。
まだbash縛りかーいと。ローカル変数ちゃんと定義してないやつ多いし、
exitで抜けれてないやつとかもあるし、もう嫌い。

マイグレーション案件とかだと、もう吐きそうになるほどの
シェルスクリプトをあーでもないこーでもないしなきゃならんと思うけど、
こんときにクソみたいなコードに出会った場合、
直したい気持ちと、ガラス細工のようにバグも利用して偶然動いていたらどうしよう、、という
2つの気持ちが揺れ動きませんか、私だけですか、そうですか。

んで、タイトルの話なんだけど、pythonとかだとsetでokな内容も
配列ぐらいしかないbashでは大変。
元のソースはなんか、1行ずつgrepシテマス・・・けど・・・(;´Д`)< if の条件句でいいやーん・・。
で、配列.containsとか in 配列 とか出来ねーのか調べてみたが、
caseでど根性でやるパターン以外は、シンプルにループして探すのを書くしかない模様。


これが一番シンプルかなー。

containsElement () {
  local e
  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
  return 1
}

posted by koteitan at 17:11| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/448025063

この記事へのトラックバック