我只是偶然發現了一個有趣的bug ...仍然試圖找出究竟發生了什麼。也許你可以幫忙。相同的腳本,不同的行爲
首先,上下文。我目前正在建立另一個人到html轉換器(出於某些原因,我不會在這裏激勵,但我需要它)。
因此,看看下面的截圖(請參閱鏈接),更確切地說在概述點。看到?在上殼上,我有& lt;和& gt;,即轉義了html。 雖然在下面的外殼我有<和>直接。
但是正如你所看到的(或者我真的需要看玻璃?),命令man 2 semget | webmanner
兩邊是一樣的,which webmanner
也是如此。這兩者大致在同一時刻執行,而不對腳本進行修改。
[哎呀,不能發佈圖片只是還沒有......這裏談到的鏈接]
http://aspyct.org/media/webmanner-bug.png
但低於殼是較舊的(打開前約1小時)。較新的shell全部打印出來& lt;。所以我的第一個猜測是,它以某種方式緩存了文件的舊索引節點,或舊的塊或其他內容。
因此,我修改了腳本部分,在開始時和結束時,打印不同的消息。而且,令人驚訝的是,兩個終端都顯示了這條消息。但仍然,& lt;和<。
我很困惑...如何解釋這種行爲?我正在使用OSX 10.8(Mountain Lion)
編輯:好的,有一個很大的區別:下面的shell使用紅寶石1.9.3,而上面的是1.8.7。這兩個版本之間的字符串處理是否有任何已知的區別?
嗯,這是它!在此期間我修正了這個錯誤,但這完全是同一個問題。 Thx爲你的幫助:) – aspyct