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
A voir également:

3 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
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
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
matthieu
 
impec ca marche ...... merci
0