1

次のシェルスクリプトがあります

RETVAL=`sqlplus -silent user/password <<EOF
SET PAGESIZE 9990

SELECT   id, type, count(*) "count" FROM event

EXIT;
EOF`

echo $RETVAL

のように出力されます

ID タイプ数 ------------- ---------- ----------- 2 11 2 1 4 1 2 10 29 1 1 35 2 1 6 2 18 1 2 2 3 7 行を選択

しかし、次のような出力が必要です

ID              TYPE        count
------------- ---------- -----------
        2         11           2
        1          4           1
        2         10          29
        1          1          35
        2          1           6
        2         18           1
        2          2           3

7 行が選択されました。

改行文字を取得するかどうかを調べようとしましたが、見つかりませんでした。

よろしく、

4

1 に答える 1

1

変数には改行が含まれていますが、表示方法によって改行が削除されます。

echoステートメントを次のように置き換えます。

echo "$RETVAL"

その場合、シェルは改行を台無しにしません。保持する必要がある任意の形式の空白を含むことができる変数は、ほぼ常に引用符で囲む必要があります。

于 2013-08-04T08:22:31.060 に答える