ajout processus + conditions
This commit is contained in:
parent
e9d41b9d6d
commit
02ea06e954
48
HowtoBash.md
48
HowtoBash.md
|
@ -31,6 +31,15 @@ alt+d : Efface un mot à droite du curseur
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
|
### Environnement
|
||||||
|
|
||||||
|
~~~{.bash}
|
||||||
|
$PPID
|
||||||
|
$BASHPID
|
||||||
|
$!
|
||||||
|
$$
|
||||||
|
~~~
|
||||||
|
|
||||||
### Initialiser
|
### Initialiser
|
||||||
|
|
||||||
~~~{.bash}
|
~~~{.bash}
|
||||||
|
@ -59,9 +68,36 @@ echo $var "joue au $foot"
|
||||||
#car sinon c'est bien le contenu de la variable $foot qui sera remplacé et non $foo
|
#car sinon c'est bien le contenu de la variable $foot qui sera remplacé et non $foo
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Récupérer tout stdin dans une variable
|
## Conditions
|
||||||
|
|
||||||
### Complet
|
~~~{.bash}
|
||||||
|
true && echo "C'est toujours vrai"
|
||||||
|
false || echo "Ça sera toujours vraiment faux"
|
||||||
|
[ $? -eq 0 ] && { echo "tâche"; sleep 1; echo -e "\e'a plus!!" }
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Processus
|
||||||
|
|
||||||
|
~~~{.bash}
|
||||||
|
( echo "Je suis un fils du script principal, mais on attend que je meure."; exit 0; )
|
||||||
|
( echo "Libreee !"; yes "Libre je dis !"; ) &
|
||||||
|
sleep 10 && kill $! #on tue le dernier fils créé
|
||||||
|
~~~
|
||||||
|
|
||||||
|
> Note: Dans une boucle, ne pas créer de process via *(* *)* sinon un usage comme **break** ou **continue**, ... ne fonctionnera pas :
|
||||||
|
> ~~~{.bash}
|
||||||
|
> while :
|
||||||
|
> do
|
||||||
|
> : && { echo "Stop !"; break; }
|
||||||
|
> done
|
||||||
|
> # ( echo "Stop !"; break; ) dans cet exemple ne quittera pas la boucle -car break dans un process fils-, et donc restera infini
|
||||||
|
> ~~~
|
||||||
|
|
||||||
|
## Astuces [concrètes]
|
||||||
|
|
||||||
|
### Récupérer tout stdin dans une variable
|
||||||
|
|
||||||
|
#### Complet
|
||||||
|
|
||||||
~~~{.bash}
|
~~~{.bash}
|
||||||
var="$(cat <&0)"
|
var="$(cat <&0)"
|
||||||
|
@ -69,7 +105,7 @@ var="$(cat <&0)"
|
||||||
var="$(cat -)"
|
var="$(cat -)"
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Ligne par ligne
|
#### Ligne par ligne
|
||||||
|
|
||||||
~~~{.bash}
|
~~~{.bash}
|
||||||
var=
|
var=
|
||||||
|
@ -77,4 +113,10 @@ while read ligne
|
||||||
do
|
do
|
||||||
var="${var}${ligne}"
|
var="${var}${ligne}"
|
||||||
done <&0
|
done <&0
|
||||||
|
~~~
|
||||||
|
|
||||||
|
autrement :
|
||||||
|
|
||||||
|
~~~{.bash}
|
||||||
|
cat <&0 | (while read ligne; do ... done)
|
||||||
~~~
|
~~~
|
Loading…
Reference in a new issue