Bash

使用 sqlplus 執行查詢後,bash 腳本不會繼續

  • March 21, 2020

在這裡,我正在嘗試使用 sqlplus 執行普通查詢並將結果轉儲到 CSV 文件中,然後我還有另一項工作要做,我遇到問題我的腳本在執行 sqlplus 查詢後無法繼續它只是查看結果並將輸出轉儲到csv 文件,但它不會繼續,我也不知道如何在不查看結果的情況下轉儲數據

#!/bin/bash

cd /dir/test_dir

   sqlplus -s test/test <<EOF
   set colsep ,
   set underline off,
   set headsep off,
   set feedback off,
   set long 99999,
   set linesize 32767,
   set trimspool on,
   spool report(date +%Y-%m-%d).csv
   select a.s, a.d, a.t, a.ww, a.tt from test a;
   exit;
   EOF
cd ../

mkdir test/
.
.
.

包含前導空格EOF的行不會終止以 . 開頭的此處文件。使用前導空格。代替<<EOF``EOF

   EOF

你應該使用

EOF

或者使用重定向更改行,sqlplus -s test/test <<-EOF然後使用製表符縮進。

如果重定向運算符是<<-,則從輸入行和包含分隔符的行中刪除所有前導製表符。這允許 shell 腳本中的 here-documents 以自然的方式縮進。

來源

引用自:https://unix.stackexchange.com/questions/574125