Options à mettre pour arrêter le script en cas d’erreur :
set -euo pipefail
# Pour les chaines de caractères
var1="Bonjour !"
# Mettre dans une variable les résultats d'une commande
var2="`date`"
# -OU-
var2="$(date)"
# Réalisation de calculs
var3=$(($a + $b))
Comparaison de chaine de caractères :
if [ "$variable" == "test" ]; then
# Opérateurs utilisable "==", "!=", ">", "<", "<=", "=>"
echo "VRAI"
else
echo "FAUX"
fi
Note : ici les opérateurs “>”, “<”, “<=” et “=>” permettent de comparer deux chaînes en fonction de l’ordre lexicographique.
Comparaison de nombres :
if [ "$a" -eq "$b" ]; then echo "a = b"; fi
Tester l’existence d’un fichier :
file="/etc/hosts"
if [ -f "$file" ]; then
echo "$file found."
fi
Lister le contenu d’un répertoire :
for path in /etc/*; do
echo $path
done
Générer une suite de nombre :
for i in {1..5}; do
echo $i
done
Travailler avec la sortie d’une commande :
for line in $(ps aux); do
echo $line
done
Les boules en trois parties :
for (( i=1; i<=5; i++ )); do
echo $i
done
Pour lire les paramètres, on peut utiliser cette syntaxe : $1 ou ${10}.
Quelques paramètres spéciaux :
$0 : le nombre du fichier$@ : l’ensemble des arguments paramètres par paramètre$# : le nombre d’arguments passés au script$? : contient la code d’erreur renvoyé par la dernière commande exécutée (= 0 quand il n’y a pas d’erreur)function_name() {
# Some code...
}
# To call this function
function_name
Exécute plusieurs commandes avec une seule connexion SSH :
ssh $HOST bash <<SSHOEF
# les commandes
SSHOEF
| Raccourcis | Description |
|---|---|
CTRL + e |
Déplacement à la fin de la ligne |
CTRL + l |
Equivalent de la commande clear |
CTRL + u |
Coupe jusqu’au début de la ligne |
CTRL + k |
Coupe jusqu’à la fin de la ligne |
CTRL + w |
Coupe jusqu’au début du mot et le copie dans le presse-papier |
CTRL + y |
Colle le contenu du presse-papier à l’endroit du curseur |
CTRL + r |
Recherche incrémentale : active et recule |
CTRL + s |
Recherche incrémentale : avance |
CTRL + g |
Abandonne la recherche |
ALT + . |
Ajoute le dernier paramètre de la commande précédente après le curseur |
En éditant le fichier ~/.inputrc :
"\e[A": history-search-backward
"\e[B": history-search-forward
"\C-h": "\C-e\C-u"
Exemple de fonction à mettre dans le fichier ~/.bashrc :
function _wiki_example1()
{
READLINE_LINE="Modifie la sortie"
}
bind -x '"\M-o":_wiki_example1'
| Variable | Description |
|---|---|
PS1 |
Prompt de niveau 1 |
READLINE_LINE |
Contient la ligne courante |
PROMPT_COMMAND |
Commande à exécuter avant l’affichage du prompt |