BASH: fonctions

Résolu/Fermé
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 22 déc. 2011 à 11:48
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 23 déc. 2011 à 15:48
Bonjour à tous,

Aujourd'hui j'ai un nouveau problème... au niveau des fonctions: je m'en sert pas souvent : /

Je souhaite faire une fonction qui compare si le paramètre reçu est du type numérique:

echo "Tapez 0 pour entrer un lien ou 1 pour traiter les liens du fichier \"link\""
	
	read redirection

while [ $redirection -ne '0' ] && [ $redirection -ne '1' ] && [ isAlpha($redirection) ]
do
	echo "Entrez 0 ou 1!"
	read redirection
	
done

...


La fonction:

#!/bin/sh 
# script_let.sh 

function isAlpha()
{if let $var 2>/dev/null  
then 
 return '0' 
else 
 return '1'
fi 

}


Le résultat console:*

./BASHv10.0.sh: line 14: syntax error near unexpected token '('
./BASHv10.0.sh: line 14: 'while [ $redirection -ne '0' ] && [ $redirection -ne '1' ] && [ isAlpha($redirection) ]'


J'ai bien défini la fonction au début du script principal..

Merci d'avance pour vos réponses :)




2 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 déc. 2011 à 12:20
pour mes fonctions, je ne mets pas le mod "function" devant.
je ne comprend pas bien pourquoi tu passes un paramètre à ta fonction alors que tu ne l'utilises pas ensuite. L'argument c'est $1.
L'appel d'un fonction shell se fait comme pour un programme, c'est à dire en passant les arguments sur la ligne de commande.
$> isAlpha $redirection
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
Modifié par gardiendelanuit le 22/12/2011 à 17:12
Merci de ta réponse !
Oui je pense avoir trouvé ce qui allait pas... J'aurais une dernière question: Comment enlever une ligne d'un fichier texte ou contenu dans une variable qui ne contient pas un mot donné?
J'ai essayé plusieurs méthode sans succes. : /
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
22 déc. 2011 à 17:21
Salut,

Merci de poster une nouvelle question et de mettre un exemple concret de ce que tu veux.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
Modifié par Char Snipeur le 23/12/2011 à 15:48
grep
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
23 déc. 2011 à 15:48
0