Skip to content
Snippets Groups Projects
Commit f1fc39c4 authored by Anthony Borghi's avatar Anthony Borghi
Browse files

ajout de cas sur le chainage pck ça peut dépanner

parent 117eb1fb
No related branches found
No related tags found
No related merge requests found
Pipeline #7612 passed
...@@ -173,3 +173,43 @@ Sur un serveur des clients, pour s'éviter des problème de droits quand on veut ...@@ -173,3 +173,43 @@ Sur un serveur des clients, pour s'éviter des problème de droits quand on veut
```shell ```shell
sudo su - www-data -s /bin/bash sudo su - www-data -s /bin/bash
``` ```
## Chainer des commandes
Vous pouvez chainer des commandes en utilisant `&&` ou en les séparant par des `;` :
```shell
# Permet de lister un sous-dossier et de revenir à la position précédente
cd sous-dossier/ && ls && cd ..
cd sous-dossier/; ls; cd ..
```
La syntaxe en utilisant `&&` lancera les commandes en séquence et ne jouera la commande suivant que si la commande ne cours se termine en succés. Alors que la syntaxe ne utilisant `;` chainera les commande sans tenir compte de l'état de la commande précédente.
## Utiliser les sorties d'une commande
Un exécutable qui affiche un résultat dans le terminal envoit du texte dans la sortie standard `stdout` ou dans la sortie d'erreur `stderr`.
Il est possible de récupérer cette sortie pour la rediriger vers l'entrée standard `stdin` d'une autre commande en utilisant `|`, l'usage le plus courant est d'envoyer ça dans un grep pour chercher une chaine de caractère.
```shell
# recherche dans un fichier texte
cat mon_fichier.txt | grep "Ma chaine dans le fichier"
# Exemple pour zipper certains fichier dans un sous-dossier
find . | egrep "2023-05|2023_05" | sudo zip -@ logs_2023-05.zip
```
Dans cette exemple, cat lit un fichier et envoi son contenu dans stdout, avec le pipe je redirige stdout dans le stdin de la commande grep pour rechercher une chaine de caractère dans le fichier.
Il est également possible de rediriger `stdout`et `stderr`, vers un fichier ou l'un vers l'autre en utilisant `>` ou `>>`.
```shell
# écrit le stdout de la commande vers le fichier result.txt (le fichier sera vidé à chaque fois)
ls -al > result.txt
# écrit le stdout de la commande vers le fichier result.txt (le fichier ne sera pas vidé et on ajoutera à la fin)
ls -al >> result.txt
# Redirige stderr (descripteur 2) vers stdout (descripteur 1) lui même renvoyer dans le fichier txt
ls -al 2>&1 >> return.txt
# Isolation des erreur dans des fichiers différents
ls -al >return.txt 2>error.txt
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment