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 $PATH
variable.
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 /bin
avant de quitter la boucle.
Donc, je suppose que je n’ai pas converti la variable multiligne en un tableau.