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
|
||||
|
||||
### Environnement
|
||||
|
||||
~~~{.bash}
|
||||
$PPID
|
||||
$BASHPID
|
||||
$!
|
||||
$$
|
||||
~~~
|
||||
|
||||
### Initialiser
|
||||
|
||||
~~~{.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
|
||||
~~~
|
||||
|
||||
## 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}
|
||||
var="$(cat <&0)"
|
||||
|
@ -69,7 +105,7 @@ var="$(cat <&0)"
|
|||
var="$(cat -)"
|
||||
~~~
|
||||
|
||||
### Ligne par ligne
|
||||
#### Ligne par ligne
|
||||
|
||||
~~~{.bash}
|
||||
var=
|
||||
|
@ -77,4 +113,10 @@ while read ligne
|
|||
do
|
||||
var="${var}${ligne}"
|
||||
done <&0
|
||||
~~~
|
||||
|
||||
autrement :
|
||||
|
||||
~~~{.bash}
|
||||
cat <&0 | (while read ligne; do ... done)
|
||||
~~~
|
Loading…
Reference in New Issue