• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Solaris10でのreadコマンドについて)

Solaris10でのreadコマンドについて

このQ&Aのポイント
  • Solaris10を使用しています。コマンドの実行結果を変数として使用するためのスクリプトを実行したところ、エラーが発生しました。
  • 「ls -l aaa.log」の結果を変数に代入するためのreadコマンドを使用していますが、Solarisではエラーが発生し、期待した結果を得ることができませんでした。
  • CentOS5.2やCygwinでは正常に動作しているため、Solaris特有の問題かもしれません。解決策を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

試しに FreeBSD の sh と Linux でも実行してみましたが、ちゃんと動作しますので Solaris がちょっと、という気はします。 それで代替方法ですが、 v=`ls -l aaa.log` set -- $v a=$1 b=$2 c=$3 とかは昔から良く利用しますよね。shift も使えるので loop でも使えます。 または、 a=${v%% *} b=${v#* } などの置換も場合によってはいいかも。

skrbtks39
質問者

お礼

個人的にもSolarisなのかぁという気はしていました。。 代替方法までご提示していただき、大変助かりました。 ありがとうございました!

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

CentOSはLinux、CygwinはUNIXもどきのWindowsツール どちらもSolarisとは違いますね。同じ結果を期待する方が間違ってます。 Solaris特有の問題とみなすか、CentOSやCygwinの問題と見なすかは見解の相違でしょうね。 逆のケースだってたくさんありますから。 ちなみにそのシェルスクリプトを sh -x シェルスクリプト で実行したらどうなりますか?

skrbtks39
質問者

お礼

sh -x で実行しても出力されるエラーに変化はありませんでした。 このスクリプトでは対応できなさそうということが分かったので 別な方法で対応したいと思います。 ありがとうございました。