このbashコマンドを実行して、Weblogicドメインディレクトリ内のsomefile.cfの内容を表示します。
find $(/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' -e 's/dep\///' | awk -F'/' '{print "/"$2"/"$3"/"$4"/somefile.cf"}' | sort | uniq) 2> /dev/null -exec ls {} \; -exec cat {} \;
これをexpectスクリプトに組み込んでみましたが、特殊文字と二重引用符もエスケープしましたが、「引用符を閉じた後の余分な文字」というエラーがスローされます。
send "echo ; echo 'Weblogic somefile.cf:' ; find \$(/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print \$2}' | sed -e 's/weblogic.policy//' -e 's/security\\///' -e 's/dep\\///' | awk -F'/' '{print \"/\"\$2\"/\"\$3\"/\"\$4\"/somefile.cf\"}' | sort | uniq) 2> /dev/null -exec ls {} \\; -exec cat {} \\;
特殊文字をもう少しエスケープする必要があるか、既存の文字を正しくエスケープする必要があると思います。どんな助けでもいただければ幸いです。