|
|
@@ -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"
|
|
|
```
|