1. 程式人生 > >Shell 指令碼等待上一行執行完成再執行下一行的方法

Shell 指令碼等待上一行執行完成再執行下一行的方法

在開發中,我們有時候需要使用 Shell 指令碼完成一些簡單的操作,但是往往有的操作比較耗時,但是我們又不得不等待它執行完成後才能進行下面的步驟,所以許多朋友往往使用sleep等方法來強制等待操作完成,其實完全沒有必要,我們只需要使用一個小小的 tricky 方法就可以實現精準等待操作完成的效果。

Shell 預設提供了獲取命令執行輸出的方法,即用 ` 號將需要獲取輸出的操作括起來,並賦值給一個變數,則 Shell 會在等待命令執行完成後把輸出內容用於賦值,所以,這就是實現了我們需要的等待效果,並且時間精準性很高。

假設command 1執行需要1s,command 2執行需要視當前資源佔用率花費10s~30s不等,command 3執行需要1s,則實現的程式碼如下:

#!/bin/sh command 1 output=command 2 command 3