私はちょうど面白いバグに出くわしました...それでも正確に何が起こっているのかを理解しようとしています。多分あなたは助けることができます。
まず、コンテキスト。私は現在、さらに別の人からhtmlへのコンバーターを構築しています(何らかの理由でここではやる気を起こさせませんが、必要です)。
したがって、下のスクリーンショット(リンクを参照)、より正確には輪郭が描かれたスポットを見てください。見る?アッパーシェルには&lt;があります。および&gt;、つまり、エスケープされたhtml。下のシェルにいる間、私は<と>を直接持っています。
しかし、ご覧のとおり(または、ガラスを真剣に見る必要がありますか?)、コマンドman 2 semget | webmanner
は両側で同じですwhich webmanner
。この2つはほぼ同時に実行され、その間にスクリプトに変更は加えられません。
[おっと、まだ写真を投稿できません...ここにリンクがあります]
http://aspyct.org/media/webmanner-bug.png
しかし、下のシェルは古いです(約1時間前に開いています)。新しいシェルはすべて印刷されます&lt;。したがって、私の最初の推測では、ファイルの古いiノードや古いブロックなどへの参照がキャッシュされていたと思います。
そこで、スクリプトの最初と最後で、さまざまなメッセージを出力するように変更しました。そして、驚いたことに、メッセージは両方の端末に表示されました。それでも、&lt;の違いは同じです。および<。
私は混乱しています...その振る舞いをどのように説明しますか?私はOSX10.8(Mountain Lion)に取り組んでいます
編集:わかりました。大きな違いが1つあります。下のシェルはruby 1.9.3を使用していますが、上のシェルは1.8.7です。2つのバージョン間で文字列処理に既知の違いはありますか?