Séance 03 - Bash ou comment industrialiser le terminal
Support de présentation (ouvrir en grand) :
Utilisez les flèches ← et → pour naviguer entre les diapositives.
Sommaire
- Qu’est-ce que Bash ?
- Cas d’usages 1 : créer et convertir des fichiers
- Cas d’usages 2 : création et exercice
1. Qu’est-ce que Bash ? #
- Bash (Bourne-Again shell) est l’interpréteur en ligne de commande d’Unix (Linux, Mac)
- un script Bash ou un script shell est un fichier (en
.sh
) qui comporte une ou plusieurs instructions ou commandes - ces commandes sont executées les unes à la suite des autres
- c’est un très bon moyen d’automatiser des tâches
2. Cas d’usages 1 : créer et convertir des fichiers #
- vérifier que vous disposez de pandoc
- créer un fichier
auto.sh
- créer une commande pandoc pour convertir du Markdown vers du HTML
- dans cette commande, remplacer le nom du fichier par
$1
- tester le script
3. Cas d’usages 2 : création et exercice #
3. Cas d’usages 2 : création et exercice #
Atelier de création dans le cours FRA3715 Écriture et nouveaux médias (2021) #
- Performativité de l’écriture numérique
- Fonctionnement interactif d’un récit
- Écrire avec/selon la machine
3. Cas d’usages 2 : création et exercice #
Programmer un récit en Bash #
Possibles inspirations :
- Test de Turing
- Temps du récit
- Qui-est-ce
- Syndrome de la page blanche
Les possibles sujets d’inspiration fournis aux étudiant·e·s (qui peuvent aussi servir lors de l’excercice) ont été les suivants :
- Test de Turing : Construire un dialogue avec ma machine
- Temps du récit : Travailler la latence d’apparition du texte : soit comme rythme poétique/suspens/dysfonctionnement
- Qui-est-ce : Construire le récit d’une recherche d’information/identité par des requête
- Syndrome de la page blanche : Construire le récit d’une écriture qui n’avance pas, qui dysfonctionne
3. Cas d’usages 2 : création et exercice #
Online Bash Shell #
Attention : Online Bash Shell n’a pas de sauvegarde automatique sans création de compte
ou
Création d’un fichier .sh puis bash fichier.sh
dans le terminal #
bash fichier.sh
3. Cas d’usages 2 : création et exercice #
Quelques commandes #
- Générer du texte
- Jouer avec les commandes de base
- Créer des rythmes
- Aligner/Couper/Renverser
- Texte en interaction
3. Cas d’usages 2 : création et exercice #
1. Générer du texte #
echo "texte";
ou définir par une valeur :
valeur="texte";
echo ${valeur}
ou afficher la valeur dans un texte :
valeur="texte";
echo "je suis du ${valeur}"
3. Cas d’usages 2 : création et exercice #
2. Jouer avec les commandes de bases #
Afficher la date :
horaire=`date`
echo "Jounal de bord du $horaire"
ou
horaire=$(date)
echo "Jounal de bord du $horaire"
Afficher la situation :
lieu=`pwd`
echo "Je me trouve toujours à bord du $lieu"
Demander mon identité : (hors interface en ligne)
identite=`whoami`
echo "Sur mon uniforme, une étiquette qui porte le nom de $identite"
whoami
ne fonctionnera pas sur Online Bash Shell.
3. Cas d’usages 2 : création et exercice #
3. Créer des rythmes #
Latence :
sleep 0.9 ;
Texte infini :
yes "texte";
Effacer les lignes précédentes :
clear
3. Cas d’usages 2 : création et exercice #
4. Aligner/Couper/Renverser #
Aligner :
T[0]='texte1'
T[1]='texte2'
echo ${T[0]} ${T[1]}
ou
T[0]='texte1'
T[1]='texte2'
echo ${T[*]}
Couper :
T[0]='texte non coupé'
echo ${T[0]}| cut -c1-5,9-15
Renverser :
echo "Je perds l'équilibre" | rev
3. Cas d’usages 2 : création et exercice #
5. Texte en interaction #
Interaction simple :
echo 'Entrez votre nom :'
read p
echo "Bonjour $p !"
Interaction par choix :
echo "To be or not to be ?"
select i in être non-être; do
if [ "$i" = "être" ]; then
echo "Sois";
break
elif [ "$i" = "non-être" ]; then
echo "Tant pis"
break
else
echo "Pas de troisième choix dans ce script"
fi
done
Il est également possible de créer des conditionnelles avec le Case Statement.
Les conditionnelles sont bien entendu emboîtables/encastrables, ce qui peut complexifier le récit.
3. Cas d’usages 2 : création et exercice #
Exemple 1 #
- La machine à poème - Antoine Sweeney
3. Cas d’usages 2 : création et exercice #
Exemple 2 #
préalable : dans votre terminal
sudo apt-get espeak
- Faire parler machine - à coller dans un fichier de votre machine
puis lancer script :
bash nom_fichier.sh