Re: Bash

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: guilde
Sujet: Re: Bash
    Bonsoir,

Frédéric Mantegazza a écrit :
> On samedi 22 mars 2008, Frédéric Mantegazza wrote:
>
>> On samedi 22 mars 2008, Olivier Allard-Jacquin wrote:
>
>>>>     ${1%.*}
>>>         Cela permet de supprimer l'extension d'un fichier
>> Une idée pour que le faire marcher avec des espaces dans le nom du
>> fichier ?

>
> En fait, ça marche ; mon problème est ailleur...
>
> Lorsque j'appelle une fonction avec des paramètres, genre :
>
> maFonction "fichier avec espaces.tif"
>
> Un 'echo $@' dans la fonction affiche bien "fichier avec espaces.tif",
> alors que un 'echo $1' affiche "fichier
>
> Une idée ?


    Essaye ce code :
<code>
#/bin/bash -norc



MaFonction() {

echo "- Debut
+ Element 1: $1"

I=0
for Name in "$@"; do

     I=$(( $I + 1))
     echo " + Element $I: $Name"
   done
}


MaFonction mon fichier 1
MaFonction mon fichier 1 mon fichier 2
MaFonction "mon fichier 1" "mon fichier 2"
MaFonction 'mon fichier 1' 'mon fichier 2'
</code>

    Note: Il y a un grosse différence entre
    $@
et
    "$@"
Je te laisse faire le test... ;)


    Cordialement,


                    Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
        /   / \  / \   \   Web:  http://olivieraj.free.fr/
       /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!