[20190126]從sqlplus執行結果返回bash shell變數.txt
[20190126]從sqlplus執行結果返回bash shell變數.txt
--//前幾天寫bash shell指令碼遇到的問題,自己以前忽略這個問題,透過例子說明。
$ cat d.sh
# this is a test
file_name=`sqlplus -S sys/a as sysdba <<EOF
set head off
select name c100 from v\\$dbfile where file#=11;
quit
EOF
`
echo 1111 $file_name 2222
echo "1111 $file_name 2222"
--//執行如下:
$ . d.sh
1111 D:\APP\ORACLE\ORADATA\TEST\TEST01P\USERS01.DBF 2222
1111
D:\APP\ORACLE\ORADATA\TEST\TEST01P\USERS01.DBF 2222
--//在除錯時遇到的問題,按照道理感覺2者的顯示應該一樣,實際上第2次執行(帶引號)的部分,明顯$file_name裡面含有1個回車。
--//有點不理解的地方是為什麼第1次執行可以在一行顯示。
--//改成如下,兩者就顯示一樣了:
# this is a test
file_name=`sqlplus -S sys/a as sysdba <<EOF
set head off pagesize 0 feedback off verify off echo off
select name c100 from v\\$dbfile where file#=11;
quit
EOF
`
echo 1111 $file_name 2222
echo "1111 $file_name 2222"
$ . d.sh
1111 D:\APP\ORACLE\ORADATA\TEST\TEST01P\USERS01.DBF 2222
1111 D:\APP\ORACLE\ORADATA\TEST\TEST01P\USERS01.DBF 2222
--//我看了以前的指令碼有一些都是第一種寫法的,居然沒有報錯。bash shell在處理變數值裡面帶有回車之類字元時
--//如果不使用引號引起來,刪除回車之類字元輸出,而帶引號原樣輸出。
--//可以透過如下例子說明:
$ a=$(cat d.sh)
$ echo $a
# this is a test file_name=`sqlplus -S sys/a as sysdba <<EOF set head off pagesize 0 feedback off...
--//變成一行。
$ echo "$a"
# this is a test
file_name=`sqlplus -S sys/a as sysdba <<EOF
set head off pagesize 0 feedback off verify off echo off
select name c100 from v\\$dbfile where file#=11;
quit
EOF
`
echo 1111 $file_name 2222
echo "1111 $file_name 2222"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2564926/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell Bash變數變數
- linux登入bash shell環境執行環境變數Linux變數
- bash shell指令碼執行方法總結指令碼
- shell程式設計–bash變數程式設計變數
- python執行shell並獲取結果Python
- shell程式設計–bash變數介紹程式設計變數
- Linux中bash shell環境變數Linux變數
- 執行結果
- [20210618]記錄bash shell執行的命令.txt
- shell指令碼的執行環境變數指令碼變數
- goroutine併發執行多個任務並依次返回結果Go
- 從資料庫返回多條紀錄賦值給shell變數資料庫賦值變數
- MyBatis 返回結果MyBatis
- easyexcel多sheet多執行緒匯入示例,獲取所以執行緒執行結果後返回Excel執行緒
- iOS FMDB有返回結果集和無返回結果集iOS
- [20231023]生成bbed的執行指令碼(bash shell).txt指令碼
- 如何:在執行 SQL 工作中將結果集對應至變數SQL變數
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- [20161020]bbed儲存執行結果.txt
- [20170705]diff比較執行結果的內容.txt
- 如何把shell變數傳入oracle的sqlplus變數OracleSQL
- [20231210]執行計劃與繫結變數.txt變數
- Cursor 作為引數傳遞並返回結果
- shell簡介入門bash程式設計之執行(轉)程式設計
- linux shell組合多個變數為一個新變數並執行Linux變數
- 通用結果類用於返回響應結果
- 實驗-shell執行資料庫命令.TXT資料庫
- 返回部分結果後,才報單行子查詢返回多行。
- Linux Bash Shell學習(七):shell程式設計基礎——執行Shell指令碼、functionLinux程式設計指令碼Function
- Bash變數和引數變數
- Mac-每次都要執行source ~/.bash_profile環境變數才生效Mac變數
- sqlplus中的變數定義和簡單使用.txtSQL變數
- 使用NetCat或BASH建立反向Shell來執行遠端執行Root命令
- 從dba_extents返回結果為空 - Oracle10gOracle
- shell執行小數運算
- 玩轉 Bash 變數變數
- 如何在非同步結果返回時進行跟蹤非同步
- 分享一個shell指令碼的坑:grep匹配+wc取值 在指令碼執行後的結果與手動執行結果不一致指令碼