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/