Vérifier si le script est lancé en tant que root

[ "${USER}" != "root" ] && exit

Vérifier le nombre de paramètres passés au script

if [ ! $# -eq 1 ] ; then
  exit
fi

Créer un tableau de valeur et boucler dessus

set -A TABLEAU var1 var2 var3
for VARIABLE in "${TABLEAU[@]}"
do
#faire quelque chose
done

Insérer une validation de l’utilisateur avant de continuer

echo "<br/>n Voulez-vous continuer ? (O/N)";read ANS
if [ "${ANS}" != "O" ] ; then
  exit
fi

boucle while #1

while [ $Requete -ne 0 ]
do
#du code....
done

boucle while #2

Boucle while avec process substitution

while read portenawac
do
    grep $portenawac /etc/fic
done < <(grep "motif" /chemin/du/fic/a/parcourir)

Exécuter un bout de code sql via sqlplus

sqlplus -s /nolog << EOF
connect / as sysdba
whenever SQLERROR exit 1
select 1 from dual;
exit
EOF

Vérifier le code de retour d’une commande

[ $? -ne 0 ] && exit

Créer un fichier et y insérer des lignes

cat > /tmp/test.ksh << FIN
#!/usr/bin/ksh
ligne 1
ligne 2
....
ligne n
FIN

Exécuter une commande en tant qu’un autre user

su - username -c 'echo $var' # ici, $var sera valorisée via l'env du username
su - username -c "echo $var" # ici, $var sera valorisé via l'env du user exécutant su

Mettre le résultat d’une commande dans une variable

CURRENT_DIR=$( pwd )

Créer une boucle switch/case

ret=$1
 case ${ret} in
  0)
   # faire quelque chose
   exit ${ret}
   ;;
  1)
   # faire autre chose
   ;;
  2)
   # faire autre chose
   exit ${ret}
   ;;
  3)
   # faire autre chose
   ;;
  4)
   # faire autre chose
  ;;
 esac

Variabiliser une date

DATE_DEPART=$( date +%Y%m%d%H%M%S )

Sed - supprimer les lignes vides

sed '/^$/d' <input-file>
sed '/^[/space/](<img style###### '' src'/img/< relref "/space/.md" >'>)*$/d' input_file
#https://www.cyberciti.biz/faq/using-sed-to-delete-empty-lines/