#!/bin/bash
echo test
$ chmod +x test.sh
$ ./test.sh
$ bash test.sh
$ mv test.sh test
$ ./test
VAR=foo
VAR=$RANDOM
VAR=`pwd`
$ env
${i.%ext}
${i#/home/}
$0 Le nom de la commande (i.e. : du script)
$1, $2, etc. Le premier, deuxième, etc, argument passés au script
$* La liste de tous les arguments passés au script
$# Le nombre d'arguments passés au script
test -f /etc/info.cf && . /etc/info.cf
if, test, exit, seq, while, for, case
> : change la sortie standard de la commande pour la placer dans un fichier.
< : change l'entrée standard de la commande pour la prendre dans un fichier.
| : branche la sortie standard de la commande de gauche sur l'entrée standard de la commande de droite.
>> : change la sortie standard pour l'ajouter à la fin d'un fichier existant.
|| : exécuter la commande suivante si la première a échoué.
&& : n'exécuter la commande suivante que si la première a réussi.
1>
2>
2>&1
cat foo.tpl | sed -e "s/__TO__/$TO/ ; s/__TEXT__/$TEXT/" | \
sendmail -oi -t -f return-path@example.com
echo $((1+1))
echo "1+1" | bc
echo "3/2" | bc -l
écrire un script qui selon les arguments renvoient un email contenant le nombre de fichiers/répertoires/liens dans /etc (avec une alerte par rapport à un seuil situé dans un fichier de configuration)
$ shellcheck script.sh
# apt install screen
$ screen -ls
$ screen -r foo
$ screen -rd foo
$ screen -x
Ctrl+a+d : sortir du screen Ctrl+a+a : faire un Ctrl+a Ctrl+a+Echap OU Ctrl+a+[ : remonter dans le buffer d'un screen Ctrl+a+s : freezer le screen courant Ctrl+a+q : defreezer le screen courant (utile quand on freeze par erreur...)
# apt install tmux
$ tmux ls
$ tmux attach -t X
Ctrl+b+d : sortir du screen