如何强制 SQLPLUS 在新行上输出每一行

Lea*_*eda 4 oracle sqlplus output

请问这里出了什么问题?

RETVAL=`sqlplus -s user/pass@DB <<EOF
SET TRIMSPOOL ON PAGESIZE 0 COLSEP , FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF              
SELECT process_id, source, destination, type FROM table WHERE process_id IN ('123','456');
EXIT;
EOF`
if [ -z "$RETVAL" ]; then
  echo "No rows returned from database"
  exit 0
else
  echo $RETVAL
fi
Run Code Online (Sandbox Code Playgroud)

输出是:

123,a c,2 456,a c,5
Run Code Online (Sandbox Code Playgroud)

并且应该是:

123, a, c, 2
456, a, c, 5
Run Code Online (Sandbox Code Playgroud)

she*_*ter 6

你试过了吗

 echo "$RETVAL" 
Run Code Online (Sandbox Code Playgroud)

在命令行或 shell 脚本中解释的不带引号的变量的本质是去除“无关的”格式。;-)

IHTH