J'essaye d'analyser les fichiers/répertoires dans un répertoire en utilisant un script shell, par exemple si le fichier est lisible, s'il s'agit d'un fichier, s'il s'agit d'un répertoire, etc. Mon script est configuré pour prendre un répertoire en entrée. donc je taperais 'file.sh directoryname'. Toutefois, lorsque je crée une boucle for pour analyser les fichiers, elle analyse les fichiers dans mon répertoire de travail actuel plutôt que le nom de répertoire spécifié.Lecture dans le répertoire, script shell Unix
C'est mon code cassé:
file=$1
set mypath = $file
for file in $mypath *
do
if [ -d $file ]
dirCount=`expr $dirCount + 1`
fi
done
Pourquoi cette lecture le répertoire de travail au lieu du répertoire spécifié? Toute aide est appréciée. Merci
Sinon, vous pouvez toujours le faire: trouver dirname -type f -maxdepth 1 – Jon
Drop the -maxdepth 1 pour un compte récursive – Jon