|
>>4475 お Solaris9のshで確認しましたが、 やはりwhileの前に exec 0<file.txt を入れないと、最終行が表示されません。 恐らく、元のファイルの最終行が空行なので問題ないのだと思います。 >>68user様 記述途中で送信してしまい、大変失礼しました。 |
|
>>4455 68user ご指摘ありがとうございます。 スレッドセーフやマジックナンバなどは考えておりませんでした。 それと goto の部分は使いたくなかったのですが、うまくプログラムの流れを制御できなかったためやむなく使用しました。 確かに分かりにくいと思います。 今後修正してみようと思います。 かなり忘れている部分が多いので、思い出すところからはじめないといけないのですが。 |
|
>>4471 mkt > 書きかけだった部分、もう削除しておられますが、いずれまとまった形で > 復活するのを期待しています。 はい、そのうちまとめて更新したいと思います。 >>4477 zsh > やはりwhileの前に > exec 0<file.txt > を入れないと、最終行が表示されません。 わたくしのまわりには Solaris がないので試せませんが、これは何が原因で 最終行が表示されないのでしょうか? >>4478 DNS勉強中 > 今後修正してみようと思います。 > かなり忘れている部分が多いので、思い出すところからはじめないといけないのですが。 細かな指摘ですので修正は不要かと思います。もし DNS にこだわりがあるなら、 ライブラリ化したり、他のレゾルバのソースを読んだり、 http://www5d.biglobe.ne.jp/~stssk/dns.html を片っ端から実装するのがいいのではないでしょうか。 |
|
>>4479 68user >わたくしのまわりには Solaris がないので試せませんが、これは何が原因で >最終行が表示されないのでしょうか? パイプを使用した場合と同様、サブシェルで動作する事が原因のようです。 Solaris8のshで確認した所、forkしてからサブシェルの中でファイルを オープンしていました。 (ksh/bash/zshはサブシェルで動作しないので問題なし。) |
|
>>4480 zsh >パイプを使用した場合と同様、サブシェルで動作する事が原因のようです。 >Solaris8のshで確認した所、forkしてからサブシェルの中でファイルを >オープンしていました。 サブシェルで動作するとは、子プロセスでシェル起動しているというこ ですか。 whileの前に exec 0<file.txt を入れないと、最終行が表示されないということですか。 |
|
>>4480 zsh あー、なるほど。 >>4467 68user > 補足。Solaris の sh では >> while read -r line; do >> done < file.txt > でもダメなようですね のことですね。別件かと勘違いしておりました。 |