sqlplus удаляет лишние пробелы - PullRequest
       14

sqlplus удаляет лишние пробелы

0 голосов
/ 27 сентября 2018

У меня есть тестовый файл ksh ниже

#!/bin/ksh
(
sqlplus -s << EOF
    ${DATABASE}
    SET SERVEROUTPUT ON;
    SET HEAD OFF
    SET FEED OFF
    SET DEFINE OFF
    SET PAGES 0
    SET COLSEP ";"
    WHENEVER SQLERROR EXIT SQL.SQLCODE      
    SELECT 'aaaa  vvvv   cccc'  FROM DUAL;          
    EXIT
EOF
) | while read sql_out
    do
        echo ${sql_out} 
    done

Ожидаемый вывод

aaaa  vvvv   cccc

, однако наблюдаемый вывод

aaaa vvvv cccc

Sqlplus удаляетсялишние пробелы в моем выводе, и я хочу сохранить его.

1 Ответ

0 голосов
/ 27 сентября 2018

Это не SQL * Кроме того, это оболочка.Вам нужно заключить вашу переменную в кавычки :

Чтобы сохранить пробел в строке или в переменной, используйте , цитируя .

Таким образом, вместо

echo ${sql_out}

выполните одно из следующих действий:

echo "${sql_out}"
printf "%s\n" "${sql_out}"

, и результат будет:

aaaa  vvvv   cccc
...