Programme linux
arame
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour
J'ai un petit souci avec un programme, l'utilisateur entre un chemin de répertoire et le programme lui affiche les sous répertoires et fichiers qui sont dedans. Le code :
read rep
echo "directory $rep"
liste=`ls $rep`
for i in $liste
do
a=`ls -l $i`
echo "$a"
done
le truc qui marche pas c'est le "ls -l $i"; le progamme ne reconnait pas le $i comme un fichier ou répertoire; pourtant le code me semble correct.
si vous avez une idée de ce qui cloche!
Merci bonne journée
J'ai un petit souci avec un programme, l'utilisateur entre un chemin de répertoire et le programme lui affiche les sous répertoires et fichiers qui sont dedans. Le code :
read rep
echo "directory $rep"
liste=`ls $rep`
for i in $liste
do
a=`ls -l $i`
echo "$a"
done
le truc qui marche pas c'est le "ls -l $i"; le progamme ne reconnait pas le $i comme un fichier ou répertoire; pourtant le code me semble correct.
si vous avez une idée de ce qui cloche!
Merci bonne journée
A voir également:
- Programme linux
- Programme demarrage windows - Guide
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
2 réponses
Salut arame,
C'est normal que tu n'arrive pas.
Tu lis d'abord le répertoire (read rep)
/home/user (par exemple)
quand tu fait ls /home/user il t'affiche les nom des repertoires (mais pas l'arborescence complète)
et quand tu essaies de faire un ls sur un sous répertoire (ls -l $i) en fait tu ne trouve pas le sous-répertoire (il te manque le répertoire père)
Ex :
$ pwd # on vérifie le répertoire courant
$ /home/user
$ ls
user1 user2 # dans user1 on a le répertoire Documents
$ ls Documents # on essaie de lister Documents
ls: Documents: Aucun fichier ou répertoire de ce type # message d'erreur
$ ls /home/user1/Documents
rep1 rep2 fichier1
Donc pour que ton code fonctionne j'ai fait quelques modifications
C'est normal que tu n'arrive pas.
Tu lis d'abord le répertoire (read rep)
/home/user (par exemple)
quand tu fait ls /home/user il t'affiche les nom des repertoires (mais pas l'arborescence complète)
et quand tu essaies de faire un ls sur un sous répertoire (ls -l $i) en fait tu ne trouve pas le sous-répertoire (il te manque le répertoire père)
Ex :
$ pwd # on vérifie le répertoire courant
$ /home/user
$ ls
user1 user2 # dans user1 on a le répertoire Documents
$ ls Documents # on essaie de lister Documents
ls: Documents: Aucun fichier ou répertoire de ce type # message d'erreur
$ ls /home/user1/Documents
rep1 rep2 fichier1
Donc pour que ton code fonctionne j'ai fait quelques modifications
#! /bin/sh read rep echo "directory $rep" liste=`ls $rep` for i in $liste do a=`ls -aRl $rep/$i` # R opttion recursive, a pour all, $rep je m'assure que j'ai l'arborescence complète des sous-répertoires echo "$a" done
Salut,
Tiens une variante avec la commande "tree" (man tree pour les différents paramètres) :
Tiens une variante avec la commande "tree" (man tree pour les différents paramètres) :
#! /bin/sh echo "Entrez le nom d'un répertoire précédé de son chemin absolu." echo "(Exemple : /home/user/images)" read rep echo echo "Le répertoire $rep contient les fichiers et sous-répertoires suivants :" echo "(Utilisez les flêches \"hauts et bas\" pour vous déplacez." echo "Tapez \"q\" pour quitter.)" sleep 4 # on fait une pause de 4 secondes pour afficher le message tree -pfF $rep | less # on contrôle l'affichage avec "less" (man less) exit;-))
bon weekend