プロが教えるわが家の防犯対策術!

awk内で使用した変数をシェル変数に代入する事は可能でしょうか?
system関数を使ってexportなどをしてみましたが、だめでした。

イメージ的には以下のような感じです。

#!/usr/ksh

HOGE=1
echo $HOGE | awk '{
HOGE=2
}'
echo $HOGE ←※ここでHOGEの内容が2になるようにしたい。

お手数ですが、お分かりになる方お助けお願いします。

A 回答 (2件)

awk側でHOGE=2とか表示して、呼び出したksh側でstdinで渡された代入文などを実行すれば良いのでは。



constset="`echo $HOGE | awk xxxxx`"
eval $constset

echo $contset
HOGE=3;HOGEB=6;HOGEZ=999
    • good
    • 0

方法はなくもないと思うけど....



とりあえず, 例えば
「system関数を使ってexportなどをしてみましたが、だめでした。」
の理由はわかりますか?

この回答への補足

おそらくsystem関数のプロセス以降生成される
子プロセスが反映される対象でカレントには反映
されとないからかと考えてます

補足日時:2011/05/31 08:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!