アプリ版:「スタンプのみでお礼する」機能のリリースについて

どなたか教えてください。
以下のようなUNIXのシェルを作ってみたのですが変数がうまくセットされません。
これは仕様なんでしょうか???
シェルはkshでシェルの中でsuしているユーザはcshです。
例:
==test.sh==
#!/bin/ksh
A1="test test"
su - user1 <<EOF
echo "A1 :" $A1
set A2 =(test test)
echo "A2 : " $A2
EOF
exit
==実行結果==
%./test
A1 : test test
A2 :
%

A 回答 (3件)

> echo "A2 : " $A2



この$A2が kshで展開された状態で suに渡されているのが原因です。
\$A2として$をそのままsuに渡すようにしましょう。

ついでに言えば、
> echo "A1 :" $A1

> A1 : test test
となるのも、kshで展開された

echo "A1 :" test test

がsuに渡されたからであって、cshで $A1を展開しているわけではありません。
    • good
    • 0
この回答へのお礼

ありがとうございます、大変参考になりました。

お礼日時:2010/12/09 19:17

$ をエスケープすれば?


echo \$A2
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

 助かりました

お礼日時:2010/12/09 19:18

どうなることを期待している?

この回答への補足

理想は質問で書いたシェルで言うと
%test
A1: test test
A2: test test
%
となるのが理想です。

補足日時:2010/12/09 16:16
    • good
    • 0

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