• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ソラリス環境でcシェルが詳しい方は教えてください)

ソラリス環境でcシェルが詳しい方へのお願い

このQ&Aのポイント
  • ソラリス環境でcシェルの詳しい方に質問です。環境変数として定義された変数と特定のファイルの内容を読み取り、変数に格納する処理がうまくいかない問題が発生しています。
  • 具体的には、特定のファイルに書かれている一部の内容を取得し、変数に格納したいのですが、期待した形での格納ができずに困っています。
  • もし詳しい方がいらっしゃいましたら、ぜひ教えていただきたいです。お手数ですが、よろしくお願いいたします。

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

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

「$LIB_HOMEが /export/... に置き換えられる」といった環境変数の置き換えが起こるのはコマンド上での話です。 一方、grep した結果は単なる「Dest=$LIB_HOME/aded/...」という「文字列」であり、 そのままでは、その中の$も$という文字にすぎません。 環境変数の参照をするためには、そこから「文字列をcshのコマンドとして解釈させる」必要があります。 具体的には、 eval コマンドを使います。 --- eval `cat bbb | grep Dest | sed -e 's/^Dest=/set aaa=/'` --- こんな感じでしょうか。 --- Dest=$LIB_HOME/aded/... --- という文字列から、sedの置換で --- set aaa=$LIB_HOME/aded/... --- を生成して、それを eval することで、上述のsetコマンドを実行して、 シェル変数 aaa に代入しています。

gooidgwd
質問者

お礼

勉強になりました。ありがとうございました。

関連するQ&A