J'essaie d'écrire un script qui, à un moment donné, doit vérifier les privilèges d'utilisateur de plusieurs dossiers. Les chemins sont stockés dans une variable, chaque chemin dans une nouvelle ligne.
Jusqu'ici j'ai ceci:
output=$PATH
output=$(echo "$output" | tr ':' '\n' | sort )
arr=($(echo "$output"))
for i in "$arr"
do
echo "$i"
if ! [[ -x $i ]]; then
echo "You are missing execute Permission on
echo "$i"
fi
done
La sortie contient plusieurs chemins, dans mon cas le contenu de ma $PATHvariable.
Avec la première ligne, j'essaie de convertir la variable multiligne en un tableau, puis de l'itérer sur tous les éléments du tableau.
Lorsque je lance le code, il ne fonctionne que pour la première entrée, le echo "$i"seul s’affiche /binavant de quitter la boucle.
Donc, je suppose que je n’ai pas converti la variable multiligne en un tableau.