====== Bash ======
===== Variables =====
==== Tester l'existence d'une variable ====
[ -z ${var+x} ] && echo 'Var is unset'
==== Test l'existance d'un programme ====
if ! command -v 2>&1 >/dev/null
then
echo " could not be found"
exit 1
fi
===== Mail =====
==== Envoyer un mail avec sendmail ====
sendmail "adress1@domain.ltd,address2@domain.ltd" -s "smtp.domain.ltd" <<- EndOfMail
Subject: This is the subject
From: test@domain.ltd
Content-Type: text/plain; charset="utf8"
Hello world !
EndOfMail
===== Tableaux =====
==== Déclaration ====
declare -A ARRAY
ARRAY[0]="foo"
ARRAY[1]="bar"
==== Boucle sur un tableau ====
for item in "${ARRAY[@]}"; do
[...do something whith $item...]
done
===== Divers =====
==== Gérer les arguments de commande ====
options=$(getopt -o c:hp:s: -l hide-pagination,page-count:,page-size:,sort:,help -- "$@")
eval set -- "$options"
while true; do
case "$1" in
-c|--page-count)
PAGE_COUNT=$2
shift 2
;;
-h|--hide-pagination)
HIDE_PAGES=1
shift
;;
-p|--page-size)
PAGE_SIZE=$2
shift 2
;;
-s|--sort)
SORT="$2"
shift 2
;;
--help)
show_help
exit
;;
--)
shift
break
;;
esac
done
REPO="$1"
shift
==== Récupérer le chemin du répertoire du script en cours d'exécution ====
CD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
===== Lire les vidéos d'un répertoire en boucle =====
#!/bin/bash
DIR="videos"
PLAY="omxplayer -o hdmi"
DIR="$(dirname "$0")/$DIR"
if [[ $(find $DIR -type f | wc -l) == 1 ]]; then
$PLAY --loop $DIR/*
else
while true; do
for file in $DIR/*; do
$PLAY $file
done
done
fi