Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr (premières livraisons mi-mai)

Si vous avez des soucis pour rester connecté, déconnectez vous et reconnectez vous depuis ce lien en cochant le case
Me connecter automatiquement lors de mes prochaines visites.

M.A.J. en cours du forum possibilité de bug, nous faisons le maximum pour les résoudre au plus vite

#1 Le 19/04/2006, à 08: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, à 09: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