Vérifier si l'argument est un fichier ou un répertoire
Je suis en train de vérifier si un argument est un répertoire ou un fichier. Je veux mettre un /après chaque nom de répertoire et un * après chaque fichier exécutable. Je sais ls utilise -F pour obtenir cette information, mais je ne peux pas comprendre cela dans mon script.
Voici mon code:
echo -n "Please enter Directory name you wish to search: "
read dir
for filename in "/home/me/Desktop/$dir"/*
do
if (-F $filename)
then
echo $filename
fi
done
Vous devez vous connecter pour publier un commentaire.
[ -f "$filename" ]
est vrai pour les fichiers,[ -d "$dirname" ]
est vrai pour les répertoires.do if [ -d $filename ]; then echo $filename elif [ -f $filename ]; then echo $filename fi done