J'ai un répertoire myDir
de nombreux fichiers .html. J'essaie de créer un tableau de tous les fichiers dans le répertoire afin que je puisse être en mesure d'indexer le tableau et être en mesure de faire référence à des fichiers html particuliers dans le répertoire. J'ai essayé la ligne suivante:
myFileNames=$(ls ~/myDir)
for file in $myFileNames;
#do something
mais je veux pouvoir avoir une variable de compteur et avoir une logique comme celle-ci:
while $counter>=0;
#do something to myFileNames[counter]
Je suis assez nouveau dans les scripts Shell et je ne suis pas en mesure de comprendre comment y parvenir, j'apprécierais donc toute aide à ce sujet.
Tu peux faire:
# create an array with all the filer/dir inside ~/myDir
arr=(~/myDir/*)
# iterate through array using a counter
for ((i=0; i<${#arr[@]}; i++)); do
#do something to each element of array
echo "${arr[$i]}"
done
Vous pouvez également le faire pour l'itération du tableau:
for f in "${arr[@]}"; do
echo "$f"
done
Votre solution fonctionnera pour générer la baie. Au lieu d'utiliser une boucle while, utilisez une boucle for:
#!/bin/bash
files=$( ls * )
counter=0
for i in $files ; do
echo Next: $i
let counter=$counter+1
echo $counter
done