Les options doivent être avant les paramètres 'classique'
#!/bin/bash
#On met les options à false
optA=false;
optB=false;
#Définion de la commande
cmd="ls";
#Check des options
while true
do
case "$1" in
-a)
echo "option a"
opta=true
cmd+=" -a" #bien penser à l'espace
shift
;;
-b)
echo "option b"
optb=true
cmd+=" -b"
shift;;
*)
break;;
esac
done
echo "$cmd" #affiche ls -a -b si les deux options sont présentes
if [[ ! -z "$1" ]]
then
echo "$1";
else
echo "pas de paramètre"
fi
#!/bin/bash
repertoire="/home/pillow/"
cmd="ls $repertoire"
files_folders=$($cmd)
folders=() #déclaration tableau vide
echo $files_folders #sortie de ls
for file in $files_folders
do
if [[ -d $repertoire$file ]] && [[ -e $repertoire$file ]] && [[ "$file" != "." ]] && [[ "$file" != ".." ]]
then
folders+=("$repertoire$file") #ajout à la fin du tableau
fi
done
echo "Nombre de répertoires : ${#folders[@]}"
files_array=(${files_folders// /}) # transforme la string en tableu avec ' ' comme séparateur
echo $files_array
echo "Nombre de fichiers et répertoires : ${#files_array[@]}"
echo $repertoire${files_array[0]}
Motif de base :
find /repertoire -type f -name “*.log” -exec rm {} \;
Conditions possibles :
(c ⇒ octets, k ⇒ ko, M ⇒ Mo, G ⇒ Go)