Aller au contenu

Documentation Scripts bash⚓︎

Documentation pas de moi mais de Knaze ! xD



Paramètres⚓︎

./monProgramme toto titi

$1=toto
$2=titi

Syntaxes et random⚓︎

1
2
3
4
5
6
7
var=$((var+2)) # Calcul
currentDay_yyyymmdd=`echo $currentDay | sed -e "s/-//g"` # Lancer une commande (ici, del les - d'une variable)
currentDay_yyyymm="${currentDay_yyyymmdd:0:6}" # Garder les 6 premiers caractères

currentDay=`date +%F` # Jour au format yyyy-mm-dd

if [ ${#var} -eq 1 ] # Tester la taille d'une chaîne

Structures conditionnelles⚓︎

Boucle si⚓︎

1
2
3
4
5
6
7
8
9
if [ test ]
then
    instruction
elif [ test2 ]
then
    instruction
else
    instruction
fi

Tests⚓︎

$var1 -eq $var2 # Egal
$var1 -ne $var2 # Différent

$var1 -gt $var2 # Supérieur
$var1 -ge $var2 # Supérieur ou égal

$var1 -lt $var2 # Inférieur
$var1 -le $var2 # Inférieur ou égal

-z $1 # Variable vide
-n $1 # Variable non vide

-e $fichier # Fichier existe
-f $fichier # Fichier simple
-d $folder # Dossier
$f1 -nt $f2 # f1 plus récent

Boucles⚓︎

Tant que⚓︎

Structure⚓︎

1
2
3
4
while [ test ]
do
    instruction
done

Exemple⚓︎

1
2
3
4
while [ -z $reponse ] || [ $reponse != 'oui' ]
do
        read -p 'Dites oui : ' reponse
done

Pour⚓︎

Boucle simple⚓︎

1
2
3
4
for i in `seq 1 10`; # Pour aller de 2 en 2 : seq 1 2 10
do
    echo $i
done

Boucle avec une liste⚓︎

1
2
3
4
for fichier in `ls` 
do
    mv $fichier $fichier-old
done

Fonctions⚓︎

1
2
3
4
5
6
7
8
9
month="" # Pour renvoyer la variable

function get_month() {
    date_yyyymmdd=$1
    month=${date_yyyymmdd:4:2}
}

get_month 20210311
current_month=$month