Pb pour le passage d'arguments ds un shell !!
matthieu
-
jisisv Messages postés 3678 Statut Modérateur -
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
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
-
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. -
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 -