salut,
bon, trop de cat tue le cat !
fanny () {
# cherche tous les fichiers .sh le numéro en cours
# cat "$listTemp" | grep -w "$1" # NON
grep -w "$1" "$listTemp"
}
cat listescript.txt | grep -w "$1"
grep -w "$1" listescript.txt
[lL])
yapluka
echo "liste des programmes:"
less listescript.txt
;;
... faut encore savoir qu'il faut faire :q pour quitter !
find . -iname "*.sh" 2> /dev/null | cat -n >listescript.txt
un tableau est plus simple à gérer
pas testé mais pour le principe :
monTableau=$(find . -iname "*.sh" 2> /dev/null)
IFS=$'\n' monTableau=( $monTableau )
echo "premier élément du tableau : ${monTableau[0]}"
afficher tous les éléments
n=0
for element in ${monTableau[@]}
do
echo "element $n : ${monTableau[$n]}"
n++
done
cat "$listTemp" | wc -l 2> nbrmax # NON ça crée un fichier...
nbrmax=$(cat "$listTemp" | wc -l ) # fonctionnel mais PAS MIEUX !
nbrmax=$(wc -l "$listTemp")
ou en interceptant les erreurs :
nbrmax=$(wc -l "$listTemp" 2>/dev/null)
deux ou trois petites astuces :
les couleurs factorisées
le -n 1 du read car tu n'utilises qu'une lettre donc ça évite le Enter pour valider
# COULEURS
enRouge='\033[31;1;4;5;7m'
enDefaut='\033[0m'
echo -e "${enRouge}"
echo -e "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
echo -e "X Veux tu <C>ontinuer la recherche d'un autre script.sh ? X"
echo -e "X (<-> pour marche arrière) X"
echo -e "X <A>fficher l'intégralité de ce script X"
echo -e "x <E>ffacer ce script x"
echo -e "x <L>ister l'ensemble des script x"
echo -e "x <G>o directement au script numéro : x"
echo -e "x <Q>pour quitter x"
echo -e "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
echo -e "${enDefaut}"
read -n 1 ouinon
pour quitter, ajouter au case :
...
[qQ]) exit 0 ;;
esac
une variable pratique pour déboguer un script bash : $LINENO
affiche le numéro de la ligne en cours
😉