瀏覽代碼

Make parallel example easier

Pierre-Yves Barriat 2 年之前
父節點
當前提交
17f79176ed
共有 2 個文件被更改,包括 13 次插入12 次删除
  1. 13 12
      Bash.md
  2. 二進制
      Bash.pdf

+ 13 - 12
Bash.md

@@ -5,7 +5,7 @@ author: P.Y. Barriat
 description: Introduction to Bash Scripting
 backgroundImage: url('assets/back.png')
 _backgroundImage: url('assets/garde.png')
-footer: 09/11/2023 | Introduction to Bash Scripting
+footer: 17/10/2023 | Introduction to Bash Scripting
 _footer: ""
 paginate: true
 _paginate: false
@@ -917,15 +917,16 @@ Exemple : `job.sh`
 
 ```bash
 #!/bin/bash
-i=0
-while [ $i -lt 10 ]; do
-  echo "${i}: job $1"
-  i=$[$i+1]
-  sleep 0.2
-done
+job() {
+  i=0
+  while [ $i -lt 10 ]; do
+    echo "${i}: job $job_id"
+    i=$[$i+1]
+    sleep 0.2
+  done
+}
 ```
 
-2 ways to use it : 
 sequential processing (`manager_seq.sh`) or parallel processing (`manager_par.sh`)
 
 ---
@@ -933,18 +934,18 @@ sequential processing (`manager_seq.sh`) or parallel processing (`manager_par.sh
 ```bash
 #!/bin/bash
 # manager_seq.sh
+source job.sh
 echo "start"
-./job.sh 1 
-./job.sh 2 
+for job_id in {1..2}; do job ; done
 echo "done"
 ```
 
 ```bash
 #!/bin/bash
 # manager_par.sh
+source job.sh
 echo "start"
-./job.sh 1 &
-./job.sh 2 &
+for job_id in {1..2}; do job & done
 wait # Don't execute the next command until subshells finish.
 echo "done"
 ```

二進制
Bash.pdf