1

下面的代码正在返回:

电子邮件 - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------------------------- email@email.com

案例“$type”在

                2)
                echo "Type is outbound: $type"
                        contact=$(sqlplus -s ${SQLPLUS_INFO} <<EOF
                        SELECT email FROM table WHERE email = 'x';
                        exit
                        EOF)
                        echo
                        echo $contact
                        echo
                ;;

                1)
                echo "Type is inbound: $type"
                ;;
        esac

但我只想:

电子邮件 - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------------------------- email@email.com

请问有什么帮助吗?

4

2 回答 2

2

The sqlplus command set pagesize 0 turns off column headers and other pagination stuff.

case "$type" in
    2)  echo "Type is outbound: $type"
        contact=$(sqlplus -s ${SQLPLUS_INFO} <<EOF
            set pagesize 0
            SELECT email FROM table WHERE email = 'x';
            exit
EOF
        )
        printf "\n%s\n\n" "$contact"
    ;;

This page is a useful reference: http://ss64.com/ora/syntax.html

于 2013-06-28T15:02:42.360 回答
1

问题是您将 ) 放在 EOF 语句之后。

EOF 应该总是一个人来!

通过将 ) 放在新行上来修复您的脚本。

...
exit
EOF
)
echo
...
于 2013-06-28T13:01:35.320 回答