勤務先の凄腕ハッカーの方に、おおよそ次のような書き方を教わりました。考えろ! というかんじ。爽快な一日でした。 if [ `echo 'hogefuga' | grep 'fuga'` ] ; then echo 'ok' fi
勤務先の凄腕ハッカーの方に、おおよそ次のような書き方を教わりました。考えろ! というかんじ。爽快な一日でした。 if [ `echo 'hogefuga' | grep 'fuga'` ] ; then echo 'ok' fi
あるフリーウェアのインストール用bashプログラムを見ていたら次の様なものがあった。(以下の例は簡略化してある。) STRING="abc" if [[ "$STRING" =~ "^ab[cd]$" ]]; then echo "matched" else echo "unmatched" fi if文の条件表現の中に“=~”というオペレータがある。manを見ると =~ オペレータは文字列を正規表現と比較するとある。知らなかった。bashの文字列比較で正規表現が使えるとは。私は正規表現比較が必要な時はgrepに喰わせて判断していたのだが、これを使えば簡単にできる。 ところが、だ。上のプログラムが期待通りに動かない。上の例では =~ の左辺と右辺の正規表現はマッチするはずだが、結果は“unmatched”。色々と正規表現を変えてみたが、どれとしてマッチングしない。しかし、if文を次のように
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く