- 363 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:22:40 ]
- >>356
エスケープの処理はバッククォートとダブルクォートのときじゃないか? rshが受け取る文字列は(sh -c 'ls; echo $?')だと思うんだけど。 (STAT=`rsh hostname "sh -c 'ls; echo \\$?'"`) ローカルのシェルが、バッククォートとして実行する文字を解釈 -> (rsh hostname "sh -c 'ls; echo \$?'") バッククォートが、rshを呼び出す為に引数を展開 -> (hostname) (sh -c 'ls; echo $?') rshがhostnameに入って、ホストのシェルで第二引数を実行 -> (sh -c 'ls; echo $?') sh -c の処理 -> (ls; echo $?) >ダブルクォートの中にシングルクォートがあっても >その中身は保護されない。 ダブルクォートの中のシングルクォートは単なる文字なのでこれはこれで合ってるけど。
|

|