Ver código fonte

Make parallel example easier

Pierre-Yves Barriat 2 anos atrás
pai
commit
17f79176ed
2 arquivos alterados com 13 adições e 12 exclusões
  1. 13 12
      Bash.md
  2. BIN
      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"
 ```

BIN
Bash.pdf