[20191215]seq控制執行順序.txt
[20191215]seq控制執行順序.txt
--//我測試經常使用seq+xargs控制迴圈執行次數,記錄一下工作中遇到的問題.
1.測試次數過1e6的情況:
--//一般測試迴圈次數不會太多,不會遇到這個問題.如果過了1e6.
$ seq 1000000 1000002
1e+06
1e+06
1e+06
--//解決方法如下:
$ seq -f "%7.0f" 1000000 1000002
1000000
1000001
1000002
--//這個版本我知道僅僅出現在rh 5.9 的版本(順便說一下版本的bash問題多多).bash version如下:
# echo $BASH_VERSION
3.2.25(1)-release
--//包括Bash Code Injection Vulnerability CVE-2014-7169.簡單的測試程式碼:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
--//如果出現vulnerable顯示,說明有問題,我們exadata就有這個bug包括後臺的伺服器.其它高版本bash shell沒有這個問題:
$ echo $BASH_VERSION
4.4.12(3)-release
$ seq 1000000 1000002
1000000
1000001
1000002
2.執行啟動慢的問題.
--//測試例子:
$ cat a.txt
exec :v_a := &&1;
select * from t where id = :v_a;
commit;
$ cat t1.sh
#!/bin/bash
sqlplus -s -l scott/book <<EOF
set feedback off
variable v_a number;
$(seq 1000000 | xargs -IQ echo -e "@ a.txt Q" )
quit
EOF
--//如果執行t1.sh,會遇到執行啟動緩慢的問題,因為bash shell要完全展開seq 1000000 | xargs -IQ echo -e "@ a.txt Q" 的輸出後
--//才開始執行.要將seq 1000000 | xargs -IQ echo -e "@ a.txt Q" 放在外面,改寫如下:
$ mknod /tmp/oop.pipe p
$ ls -l /tmp/oop.pipe
prw-r--r-- 1 oracle oinstall 0 2019-11-04 10:44:02 /tmp/oop.pipe
--//建立一個管道裝置.
$ cat t1.sh
#!/bin/bash
seq 1000000 | xargs -IQ echo -e "@ a.txt Q" > /tmp/oop.pipe &
sqlplus -s -l scott/book <<EOF
set feedback off
variable v_a number;
@ /tmp/oop.pipe
quit
EOF
3.另外發現seq也可以拼成一行,使用-s引數.
$ seq -s ":" 10
1:2:3:4:5:6:7:8:9:10
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2668702/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 命令執行順序控制與管道
- [20191112]flock控制命令執行順序.txt
- Sql執行順序SQL
- JavaScript執行順序分析JavaScript
- 任務執行順序
- for語句執行順序
- JavaScript的執行順序JavaScript
- laravel Event執行順序Laravel
- mySQL 執行語句執行順序MySql
- sql mysql 執行順序 (4)MySql
- SQL語句執行順序SQL
- js執行順序Event LoopJSOOP
- JavaScript for迴圈 執行順序JavaScript
- JavaScript 執行順序淺析JavaScript
- pytest 框架多個 test.py 檔案怎麼控制其執行順序,除了預設的檔名 ascii 碼順序執行還有什麼外掛或者方法可以控制其執行順序麼框架ASCII
- Linux c多執行緒執行順序Linux執行緒
- 關於 Promise 的執行順序Promise
- Spring Aop的執行順序Spring
- js解惑-函式執行順序JS函式
- SQL 語句的執行順序SQL
- Select語句執行順序
- java執行緒優先順序Java執行緒
- CSS規則的執行順序CSS
- Java類的基本執行順序Java
- SQL 執行順序 你懂的SQL
- JUnit 標籤執行順序解析
- pipeline的執行順序
- mysql 語句的執行順序MySql
- 執行緒執行順序——CountDownLatch、CyclicBarrier 、join()、執行緒池執行緒CountDownLatch
- angular控制器的執行順序和服務的注入情況Angular
- Java中如何保證執行緒順序執行Java執行緒
- javascript執行機制之執行順序詳解JavaScript
- Pytest 順序執行,依賴執行,引數化執行
- unittest--TestCase 按宣告順序執行
- Go包中程式碼執行順序Go
- 路由的中介軟體執行順序路由
- sql select語法執行順序SQL
- javascript執行順序簡單介紹JavaScript