|
というわけで、お礼がわりと言うのもおこがましいですが、当掲示板 での質問受け付けを再開します。痛い質問者によって精神的に疲弊 してしまったら、またクローズして充電します :-) 今後ともよろしくお願いします。 |
|
すみません、どなたかご教授ください。 HP-UNIXであるコマンド(シェルで起動したC)の出力結果の一部日本語出力が文字化けします。 teratermで接続していますが、teratermの設定をSJISからEUCに変更すると見えるようになります。 UNIXは元々SJISですので、 setenv LANG ja_JP.EUCを入れて実行したのですが、結果は同じです。 どなたか解決策を授けてください。お願いします。 |
|
ftp上のlsの挙動に関する質問です。 ftpサーバはsolaris8とsolaris10です。 (両方OS標準のftpサーバです。) クライアントはwindows98です。 solaris8に接続してlsをフルパスですると、 結果がファイル名だけ帰ってきます。 例) ftp> ls /etc 結果 vfstab しかし solaris10に接続してlsをフルパスですると、 結果がフルパスで帰ってきます。 例) ftp>ls /etc 結果 /etc/vfstab solaris10の結果をsolaris8にあわすことが出来ないでしょうか? 結果ファイルを使って後の処理をしているので違う結果になると いままで作ったプログラムを手直ししないといけないのでなんとかしたいです。 よろしくお願いします。 |
|
>>4178 あんどろめだ 1. C のプログラムが Shift_JIS 文字列を吐くよう修正する。普通に printf などで出力しているなら、ソースを Shift_JIS に変更して から再コンパイル (それで動作するかどうかは要検証)。 2. 出力を Shift_JIS に変換してから受け取る Ex: result=`command | iconv -f eucJP -t sjis` >>4179 シロネコ Solaris9 以降は wu-ftpd ベースらしいので、 >>3374 とーりすがり のように /bin/ls に変更してやれば変わるかもしれません (デフォルトでは /bin/ls を使っていないようなので)。それでもダメなら、ディレクトリ名を 削除する以下のような自作の ls を作って指定するとか (あまりに場当たり的 ではありますが)。 #!/bin/sh /bin/ls "$@" | sed 's|/.*/||'" あと、結果ファイル処理プログラムを書き換えないまでも、リクエストの 出し方を変えてよいのであれば - cd /etc してから ls する (まぁそれができるならわざわざ質問 しないでしょうけど) - ls /etc "| sed 's|/.*/||'" と、別プログラムをかませる (Windows98 に sed はないので適当に工夫する。ただし Windows の ftp.exe で "| ..." が効くかどうかは不明) とか。 |
|
>>4180 68user > #!/bin/sh > /bin/ls "$@" | sed 's|/.*/||'" 最後の " は余計でした。 |
|
68userさん 2の方法でうまくいきました。(iconvコマンド初めて知りました) ありがとうございました!! |