日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

每天学一点儿shell:shell脚本的异步执行

發布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 每天学一点儿shell:shell脚本的异步执行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • shell管道"|"
  • shell并行執行"&"
  • shell串行執行"&&"

shell管道"|"

管道用法: command1 | command2 | command3 等等
用法舉例:

[root@hadoop-master shell-test]# ps -ef|grep java root 5304 2878 0 05:58 pts/1 00:00:00 grep --color=auto java

簡單理解就是把前一個命令的輸出結果當為下一個命令的數據入參,用管道比較形象,數據像水流一樣從一個水管流到下一個水管。
再舉個例子:

[root@hadoop-master shell-asy]# ls -s|sort -nr 4 test3.sh 4 test2.sh 4 test1.sh 4 start-syn.sh 4 start-asy.sh 總用量 20

-s是file size,-n是numeric-sort,-r是reverse,反轉
這個命令就是將文件按照數據文件的大小按照從大到小進行排序并輸出。

shell并行執行"&"

shell 通過“&”來并行執行shell腳本,相當于每一個腳本都是單獨的進程。
舉例如下:
腳本1

[root@hadoop-master shell-asy]# cat test1.sh #!/bin/bash echo "腳本1開始執行 "`date +"%Y%m%d %H:%M:%S"` sleep 5 echo "腳本1執行結束 "`date +"%Y%m%d %H:%M:%S"`

腳本2

[root@hadoop-master shell-asy]# cat test2.sh #!/bin/bash echo "腳本2開始執行 "`date +"%Y%m%d %H:%M:%S"` sleep 3 echo "腳本2執行結束 "`date +"%Y%m%d %H:%M:%S"`

腳本3

[root@hadoop-master shell-asy]# cat test3.sh #!/bin/bash echo "腳本3開始執行 "`date +"%Y%m%d %H:%M:%S"` sleep 5 echo "腳本3執行結束 "`date +"%Y%m%d %H:%M:%S"`

異步運行腳本start-asy.sh

[root@hadoop-master shell-asy]# cat start-asy.sh #!/bin/bash echo "并行執行" sh ./test1.sh & sh ./test2.sh & sh ./test3.sh &wait echo "主線程執行結束"

執行結果如下:

[root@hadoop-master shell-asy]# sh start-asy.sh 并行執行 腳本1開始執行 20200917 07:21:00 腳本2開始執行 20200917 07:21:00 腳本3開始執行 20200917 07:21:00 腳本2執行結束 20200917 07:21:03 腳本1執行結束 20200917 07:21:05 腳本3執行結束 20200917 07:21:05 主線程執行結束

shell串行執行"&&"

shell中默認的就是串行執行腳本,如果將兩條命令合并成一條執行可以加&&作為連接
例如:執行腳本并輸出執行時間

[root@hadoop-master shell-asy]# cat start-syn.sh #!/bin/bash echo "串行執行" sh ./test1.sh sh ./test2.sh sh ./test3.sh

下面是順序執行腳本并輸出執行時間

[root@hadoop-master shell-asy]# sh start-syn.sh && date +"%Y-%m-%d %T" 串行執行 腳本1開始執行 20200917 07:26:52 腳本1執行結束 20200917 07:26:57 腳本2開始執行 20200917 07:26:57 腳本2執行結束 20200917 07:27:00 腳本3開始執行 20200917 07:27:00 腳本3執行結束 20200917 07:27:05 2020-09-17 07:27:05

總結

以上是生活随笔為你收集整理的每天学一点儿shell:shell脚本的异步执行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。