[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210618]記錄bash shell執行的命令.txt
- shell Bash變數變數
- [20231023]生成bbed的執行指令碼(bash shell).txt指令碼
- [20180930]bash shell &.txt
- shell程式設計–bash變數程式設計變數
- [20231210]執行計劃與繫結變數.txt變數
- bash shell多執行緒方案執行緒
- python執行shell並獲取結果Python
- Linux中bash shell環境變數Linux變數
- [20210908]Reverse Shell with Bash.txt
- shell程式設計–bash變數介紹程式設計變數
- [20181212]bash shell 字串 補零.txt字串
- [20201116]bash shell IO重定向.txt
- [20210913]bash shell $* and $@ 的區別.txt
- [20200217]bash顯示path環境變數.txt變數
- [20221111]bash eval設定變數問題.txt變數
- [20231123]函式與bash shell呼叫.txt函式
- [20201109]bash shell特殊算術方式.txt
- [20230314]nc reverse bash shell alias.txt
- [20230310]nc reverse bash shell問題.txt
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- [20181229]bash shell的算術運算 .txt
- [20210324]bash shell value too great for base.txt
- easyexcel多sheet多執行緒匯入示例,獲取所以執行緒執行結果後返回Excel執行緒
- goroutine併發執行多個任務並依次返回結果Go
- [20230309]nc reverse bash shell or cmd.exe(windows).txtWindows
- [20210330]bash使用source or ..呼叫shell指令碼注意txt指令碼
- [20180413]bash 位置引數.txt
- [20230323]sqlplus #.txtSQL
- MyBatis 返回結果MyBatis
- shell執行小數運算
- Mac-每次都要執行source ~/.bash_profile環境變數才生效Mac變數
- iOS FMDB有返回結果集和無返回結果集iOS
- 詳解shell中source、sh、bash、./執行指令碼的區別指令碼
- Bash變數和引數變數
- [20191010]bash行計算器.txt
- [20231109]bash shell快捷鍵alt+number的問題.txt
- [20231029]使用cygwin調式bash shell引出的問題.txt