• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドの実行結果が最初の1単語しか表示されない(sh))

コマンドの実行結果が最初の1単語しか表示されない(sh)

このQ&Aのポイント
  • コマンドの実行結果が最初の1単語しか表示されず、条件分岐がうまくいかない場合の対処方法を教えてください。
  • 実行結果によって条件分岐をしたい場合、コマンドの実行結果を完全に取得する方法がありますか?
  • コマンドラインで直接実行すると、コマンドの結果が正常に表示されるのに、スクリプト内では最初の1単語しか表示されない現象が起きます。どうすれば完全な実行結果を取得できるのでしょうか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

A=(a b c) だと、Aが配列になり、A[0]=a A[1]=b A[2]=c ということですが、 配列に対して$Aというのは${A[0]}の省略形で先頭の要素を表します。全要素が必要なら ${A[*]} で。 ただ、この場合、配列にする意味があるのかどうか・・・何故 A=`service httpd status` じゃないのでしょうか? 書かれた内容だけで良いのなら、 if service httpd status | grep running >/dev/null then echo good else echo bad fi ですね。 ただ、service httpd statusは/var/run/httpd.pidというファイルがあるかどうか見ているはずなので、 if test -f /var/run/httpd.pid then echo good else echo bad fi でも良いです。

tanpopo012
質問者

お礼

>何故 A=`service httpd status`じゃないのでしょうか? まったくその通りですね。。A=`service httpd status` で うまくいきました。 頂いたサンプルも完璧に動作しました。 ありがとうございました。

関連するQ&A