BLOGTIMES
«Prev || ... 945 · 946 · 947 · 948 · 949 · 950 · 951 · 952 · 953 ·... | | Next»
2011/08/24

パイプでつないだコマンドの終了ステータスをとる

sh 

パイプでつないだコマンドの終了ステータスをとる方法が分かったのでメモ。

普通はあまり使わないテクニックですが、シェルスクリプトを組むときにパイプの前半部分の終了コードが必要になることがあります

$ hogecmd | tee -a hoge.txt

例えば上記のようなコマンドの直後に$?で終了ステータスを取得すると、hogecmd ではなく、tee -a hoge.txt の部分の終了ステータスになってしまって、シェルスクリプトで条件分岐を書くときに困るのです。この制約を突破するためにこれまでは一時ファイルを使ったり、名前付きパイプを使うなど、パイプを使わないで乗り越えて来たのですが、専用の特殊変数が用意されていたとは盲点でした

bashによるシェルスクリプトの小技(2) - shibainu55日記

${PIPESTATUS[@]}

パイプで連結した各コマンドの終了ステータスが設定される変数(配列)。パイプ(「|」)により連結された各コマンドの終了ステータスが設定設定されている変数(配列)。 変数 $? ではパイプの一番最後にあるコマンドの終了ステータスしか参照することができないが、この変数を使用することでパイプの先頭、 もしくは途中にあるコマンドの終了ステータスを参照することができる (残念ながら bash のみで ksh では使用できない)。

上記に従って、パイプを使っていても下記のようにシェルスクリプトで条件判定をすることができるようになりました。

hogecmd | tee -a hoge.txt if [ ${PIPESTATUS[0]} -eq 0 ] ; then echo "OK!" else echo "NG!" fi

    at 21:45 |
    2011/08/24

    コピペだけでレポートを作らせる

    dishonesty 

    レポートを出すと残念ながらコピペが一定の確率で出てくるというのが現状であると思います。
    そんな中でレポートをコピペだけで作らせるという試みを実践した「H-Yamaguchi.net: コピペの「作法」」というエントリが興味深かったのでメモ。

    H-Yamaguchi.net: コピペの「作法」

    一応、評価基準はあらかじめ示しておいた。基本的に接続詞など最低限の文章のつなぎ以外はすべてコピペ文で構成すること、コピペ文にはすべて元URLを付け検証可能とすること、1つの文章を長々とコピペするよりいろいろなものを組み合わせたものを高く評価すること、同じ内容ならより有力な元サイトからのコピペを高く評価すること、レポートの構成に関してはオリジナリティを評価することなどだが、ひょっとして皆同じ内容になってしまうのではという危惧に反して、内容がけっこうばらけただけでなく、レベルの差がかなりはっきり現れたのだ。コピペでちゃんとレポートが構成できる学生は、それなりに内容を理解しているということなんだろうし、他の人とちがうところから引用していれば、よりていねいにあちこちを探しまわったということがわかる。それにこれなら、コピペかどうかで気を病む必要もない(全部コピペなんだし)。もちろんどこにでも適用できる手法ではなかろうが、場や相手をうまく選べばそれなりに使える手かもしれない。

    僕も考察力や理解の程度がコピペだけで構成された文章でも判断できるというところには賛同できます。そもそも学術的な文章は多かれ少なかれ先人の研究の上に成り立っている*1わけで、すべてがオリジナルであるというのはほぼありえないというのもあります。そうなってくると、コピペの問題は引用のルールを守っているかどうかということになってきます。かくいう自分も初めて学術論文を書いたときに、自分の先生から「まずどこが他人のもので(当然、この部分には参考文献が必要)、自分でやった部分もどこまでが客観的な事実で、どこからが自分の主張や考察なのかが明確に区別できないのはダメだ」と厳しく指摘された記憶があります。こういうトレーニングをする場が本来はレポートなのだと思いますが、これをどうやっていくかというのは大きな問題です。

    ちなみに僕はプログラミングのレポートに関してはメトリクスを比較することにしています。これで比較的近い物を探せばコピペかどうかはほぼ分かります。

    • *1: 特に僕の専門は工学なので。

    at 21:14 |
    2011/08/23

    Transystem TripMate 850

    gps  bluetooth  ebay 
    TripMate850 液晶画面付きAGPS対応 Bluetooth GPSロガー  単4電池で動作

    これまでGPSロガーはHOLUX M-241を使っていたのですが、電池が入る部分の大きさがぎりぎりで、電池によっては入れると抜けなくなったりとちょっと不便を感じていたので、Transystem TripMate 850 を買い換えてみました。

    こちらもMTKチップセット(こちらの方が新型)、乾電池式、LCD付きなのでグレードとしては同じくらいのものです。LCDがない方が電池の持ち的にはいいし、選択肢も増えるのですが、これがないとカメラの時刻合わせをするときに困るのです。M-241との違いとしてはmicroSD対応というか、microSDにしかデータが記録されない仕様なので、記録間隔を短くしても通常の使用でログがあふれてしまうという心配がないところはうれしいですね。

    欠点としてはボタンが固いとか、操作性が悪いという話がちらほらあるようですが、このあたりはM-241とあまり変わりないように思います。ただ、bluetoothが切れないので航空機に持ち込めないのは痛いですね。あと侮れないのは外観が予想以上にプラスチッキ-な感じであることでしょうか。ちなみに少し使い込むと表面の塗装が剥げてきます。このあたりは見た目を取るか機能性を取るかというところですが、気にする人は気をつけた方が良さそうです。四角いので転がってしまうことはないのですが、質感的にはずっとm-241の方が上ですね。

    初めてのeBay

    国内で買うと送料込みで12,000円前後するようですが、ググると eBay で買うと安いという話がたくさん出てくるので、eBay 経由で取り寄せてみました。送料込みで$89だったので、\7000弱で決済されていました。実は eBay を使うのは初めてだったのですが、8/13に注文して、書留で8/19に届いていたようなので*1海外から送られてくる以外は国内の通販と全く変わりないことを実感しました。トラブルの内には入りませんが、追跡番号が間違って通知されてきて荷物がフランス行きになっていたのはちょっと驚きましたが、問い合わせたらすぐに新しい番号を教えてもらえたので、これは愛嬌くらいに考えておくのがいいですかね。

    • *1: 帰省していたので気づかなかった。

    at 22:31 |
    2011/08/23

    PHP 5.3.7 の crypt() に注意!

    php 

    PHP 5.3.7 の crypt() に大穴があったということで騒ぎになっています。
    当該のバージョンを使っている場合には、すみやかにダウングレードするのが賢明なようです。
    アップデート版のPHP 5.3.8がリリースされたので、速やかにアップデートする必要があります。

    徳丸浩の日記: PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。

    過去にはIEが1文字の誤りから脆弱性を招いたということがあったように、バグとしては凡ミスですが、箇所が箇所だけに影響が大きいですね。


      at 15:29 |
      2011/08/22

      麺魂

      ラーメン  miyagi 
      辛味中華そば - 麺魂

      昼飯に両親が「行ったことがないラーメン屋があるんだけど、ちょっと入りにくい」という話をしているので3人で食べに行ってきました。確かにこんな場所にラーメン屋はなかったはずなので、新店のようです。カウンターとちょっとした座敷だけなので、この辺りのラーメン屋にしては小さなお店ですね。

      オーダーはちょっとひねって辛味中華そばにしてみました。麺は自家製とのことで、かなり角張った堅めの麺です。スープは都内ではよく見かける魚介系のものですが、この辺りでは珍しいですね。つけ麺を意識したスープだと思うのですが、場所柄つけ麺をメインにできないという感じなのでしょうか。個人的には結構好みの味です。親父も珍しそうに食べて満足していたようです。再訪すると言ってましたし。

      [麺魂 の続きを読む]

        at 12:58 |
        2011/08/21

        実家にサヨナラを

        earthquake 
        崩れた壁 - 実家にサヨナラをはじけたゴーヤ - 実家にサヨナラを
        セル画用の絵の具 - 実家にサヨナラを1988年の朝日新聞一面 - 実家にサヨナラを

        明日の夕方で電気もガスも止まってしまうので、今日が実家で過ごせる最後の夜ということになります。ということで一人静かに最後の一夜を過ごしています。

        家具が何もなくなった部屋を見ていると、東日本大震災のダメージがよくわかります。家の外壁は殆ど変化はないものの、室内の壁はあちこち剥がれ落ちていますし、柱の間は隙間が空いてしまっています。それでも瓦一枚落ちることなく踏ん張りきったというのは上出来なのではないでしょうか。外には熟れてはじけてしまったゴーヤが揺れていますが、これと同じようにこの家も寿命を全うしたのだと思います。

        家の中を整理していたら面白い物が出てきました。カラフルな瓶は小学校の時の友人のお父さんが東映動画(?)でセル画に色を塗るという仕事をしていた関係でもらってきたと思われるセル画用の絵の具*1です。業務用なので一般流通していないものですが中身が残っていました。マジックで書いてあるのは色番号でしょうか。一緒に出てきた朝日新聞の一面には「GNP 年率7%成長」「日本経済は円高デフレを克服」という今では考えられない内容が躍っています。

        • *1: 正式名称不明

        at 22:15 |
        2011/08/20

        仙台空港にちょっと寄ってみた

        miyagi  earthquake  airport 
        仙台空港から滑走路を眺める - 仙台空港にちょっと寄ってみた仙台空港内の津波の高さ - 仙台空港にちょっと寄ってみた

        復旧した仙台空港の様子をながめてきてみました。

        展望デッキにつながる3Fにはまだ入れないものの、滑走路は綺麗になっていて、航空機が発着している様子は確認できました。1Fには柱に津波の到達高さのラインが示されていましたが、その高さには驚くばかりです。わかりやすいように友人にそばに立ってもらいましたが、建物内でも人の身長を優に超える高さがあります。


          at 13:46 |

          INONIA (ランチ編)

          italian  miyagi 
          クアトロフォルマッジョ、マルゲリータ - INONIA (ランチ編)
          前菜 - INONIA (ランチ編)デザート - INONIA (ランチ編)

          このあたりでは一番のお気に入りのイオンヤでランチ。

          ランチメニューはパスタかナポリピッツァと前菜、デザート、ドリンクがセットになったシンプルなメニューのみ。パスタが\1,500、ピッツァが\1,800になっています。このあたりのランチだとかなり高めですかね。今日のパスタはチキンと野菜のトマトソース、魚介のジェノベーゼの2種、ピッツァはマルゲリータ、シシリア、クアトロ・フォルマッジョの3種からという感じだったので、2人でクアトロ・フォルマッジョとマルゲリータをシェアすることにしました。

          クアトロ・フォルマッジョとマルゲリータは見た目がよく似ていますが、クアトロ・フォルマッジョはチーズが多くこってりとした感じで、マルゲリータはフレッシュトマトとバジルがさっぱりと食べさせてくれるのが対照的です。去年の夏以来のの久しぶりの来店でしたが、味は相変わらずのレベルを保っていて安心しました。デザートはレモンピールが入ったシャーベットでこの時期にはぴったりです。

          [INONIA (ランチ編) の続きを読む]

            at 13:03 |
            2011/08/19

            最後はちょっと運動を


            T.TBowl名取 - 最後はちょっと運動を

            さすがにちょっと食べてばっかりではまずいということで、帰りにボーリングで汗を流すことに。いつもは市内の別のボーリング場に行くのですが、少し前にT.TBowl名取という個室のボーリング場ができたと言う話を聞いていたので、偵察がてらちょっと投げて来ることにしました。

            個室といっても待合の椅子の部分だけで、レーン上に仕切りはないので、隣のレーンを気にせず投げられるということはありません。ここはプレー料金が安い代わりに、飲食物が持ち込み禁止で中の飲食物が高め(例えば500mlのペットボトルが180円という感じ)という設定になっているようです。今はキャンペーン期間中らしく、1ゲーム無料になっていました。スコアは118, 102で、正直あまり調子は良くありませんでした。


              at 21:17 |

              丸源ラーメン

              ラーメン  tokyo 
              ネギ肉そば・肉そば - 丸源ラーメン

              ちょっとお好み焼きが食べたりないということでシメのラーメン。千房に向かうときに見つけた丸源ラーメンというラーメン屋に入ってみることにしました。郊外店らしく店内は広々としています。

              頼んでみたのは、ねぎ肉そばと肉そば。前回もネギラーメン頼んだので、「またねぎかよ!」と突っ込みをもらってしまいました。頼んでからそれほど間を開けずに着丼。このあたりのスピード感は大型店ならではで、さすがといった感じ。スープの味付けはちょっと甘ったるい感じで、ラーメンだと思うと違和感がかなりあるものの、うどんだと思えば納得できるような味です。なんていうか、肉うどんのスープにラーメン入れてしまった感じ。個人的には嫌いではないものの、単調な味に途中からちょっと飽きてくるので、テーブルの上のニンニクチップや、酢を使って少しずつ味を変えながら食べるのがポイントになるのでしょうか。

              食べながら「中学高校の時に、駅の立ちそばで食べた肉うどん思い出しちゃうね」なんていう昔話に花が咲いたのでこれはこれでよしとしようと思います。

              [丸源ラーメン の続きを読む]

                at 20:25 |
                «Prev || ... 945 · 946 · 947 · 948 · 949 · 950 · 951 · 952 · 953 ·... | | Next»