J'ai une exigence où je dois lire les noms des sous-répertoires et copier les noms dans un fichier. Voici le code que j'ai écrit.Script shell: pour la sortie inattendue de la boucle
for file in $HOME/AutoQA/screenshots/*
do
if [ -d "$file" ];
then
echo "$file" >> $HOME/AutoQA/FailedTestCases.txt
fi
done
Maintenant, le code ci-dessus fonctionne presque parfaitement, mais la sortie que je reçois est quelque chose comme
/home/AutoQA/screenshots/1
/home/AutoQA/screenshots/2
......
Mais je pensais que ce serait comme suit
1
2
....
Je dois seulement noms des sous-répertoires. Ici, avant d'exécuter la boucle for, je ne veux pas faire
cd /home/AutoQA/screenshots/
Comment puis-je gérer cela? Quelqu'un peut-il aider?
Si vous ajoutez un arrière '/' à votre glob, il étendra aux noms de répertoire uniquement, en supprimant la nécessité de la déclaration 'if' . – chepner