Pb pour le passage d'arguments ds un shell !!

matthieu -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,

Dans un shell, j'ai plusieurs fonction du type menu() compilation() edition()...... que j'appel au cours du script .
L'utilisateur passe en argument le nom du fichier qu'il souhaite créer.
Le Pb c'es que l'argument , j'arrive a le récupérer avec un $1 dans le script mais pas dans les fonction menu()..... en fait il ne fait pas d'erreur mais $1= ensemble vide .....

Je pense que cela doit être un truc comme les variables locales ou globales du C.

Merci

3 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Quelque chose du genre
    #!/bin/sh
    function test()
    {
    message="$1"
    [ "X$message" = "X" ] && message="Hello World"
    dialog --msgbox "$message" 5 $((${#message} + 5 ))
    }
    test "$1"

    [johand@zoot] ~/src/bash $./test.sh "Salut le monde de plaisirs interdits "

    devrait fonctionner, non?
    Johan
    The software said "Requires Windows98, Win2000, or better,
    So I installed Unix.
    1
  2. phil
     
    Bsr,
    les variables sont des elements locaux au shell ou elles sont definies;
    les scripts lances à parir de celui-ci sont executés dans des shells séparés qui ne connaissent pas ces variables
    as tu essayé de faire:
    ...
    variable1=$1
    export variable1
    ...
    menu()
    utilisation de variable1
    0