Pages : 1
#1 Le 19/04/2006, à 07:50
- coincoin169
Script Shell lister des fichiers
Salut à tous !
Je fais un petit script et je n'arrive pas a lister les fichiers
Mon script : script
=================
#!/bin/sh
for file in $1
do
echo $file
done
=================
sur la ligne de commande je tape
script *
mais il m'affiche que le premier fichier
j'ai essayé ca mais meme topo
=================
#!/bin/sh
for file in `ls $1`
do
echo $file
done
=================
Merci d'avance
#2 Le 19/04/2006, à 08:32
- mesmento
Re : Script Shell lister des fichiers
1) Tu peux alléger ton script à ceci :
#! /bin/sh
echo $1
ou
#! /bin/sh
ls $1
Ensuite, la raison pour laquelle le script ne renvoit que le premier fichier est, je crois, que l'appel "$1" n'attend qu'un seul argument. Pour comprendre essaye:
#! /bin/sh
echo $1 $2 $3 $4
en réalité, ce qui se passe c'est que en faisant "./script *" tu envois "fichier1 fichier2 ..." et il ne prend en compte que fichier1
Ce que tu souhaites c'est que $1 reçoive non pas la sortie de "*" mais "*" lui-même.
Pour cela tu dois l'échapper:
./script \*
et là, miracle !
Donc pour résumer :
#! /bin/sh
echo $1
Puis tape:
./script \*
Hors ligne