Comment appeler une fonction dans un script shell?
J'ai un script shell qui conditionnellement appelle une fonction.
Par Exemple:-
if [ "$choice" = "true" ]
then
process_install
elif [ "$choice" = "false" ]
then
process_exit
fi
process_install()
{
commands...
commands...
}
process_exit()
{
commands...
commands...
}
S'il vous plaît laissez-moi savoir comment accomplir cela.
source d'informationauteur user626206
Vous devez vous connecter pour publier un commentaire.
Vous ne spécifiez pas qui shell (il y a beaucoup de), donc je suis en supposant que Bourne Shellc'est que je pense que votre script commence par:
N'oubliez pas de balise, les questions d'avenir avec le shell de type, ce qui permettra d'aider la communauté à répondre à votre question.
Vous devez définir vos fonctions avant vous les appelez. À l'aide de
()
:Vous pouvez ensuite appeler vos fonctions, comme si vous étiez l'appel à la commande:
Vous pouvez aussi consulter pour les invalides de choix à ce stade...
Voir courir avec trois différentes valeurs de ${choix}.
Bonne chance!
Résumé:
Considérer ce script, appelé
funcdemo
:En cours d'utilisation:
Remarque le potentiel pour une fonction manquant pour pas encore été découvertes pendant une longue période (pensez "par un client à la plupart des critiques mauvais moment"). Il importe seulement de savoir si la fonction existe lorsqu'elle est exécutée, le même qu'il importe seulement de savoir si toute autre commande existe lorsque vous essayez de l'exécuter. En effet, jusqu'à ce qu'il se passe à l'exécution de la commande, le shell ne sait ni ne se soucie de savoir si c'est une commande externe ou une fonction.
Les fonctions doivent être définies avant d'être utilisées. Il n'existe pas de mécanisme de poisson est à pré-déclarer des fonctions, mais une technique courante est de faire quelque chose comme:
Vous pouvez créer un autre fichier de script séparément pour les fonctions et invoquer le fichier de script à chaque fois que vous voulez l'appeler la fonction. Cela vous aidera à garder votre code propre.
il va commencer à partir de la fonction principale
Exemple d'utilisation d'une fonction de() en bash: