BASH: fonctions

Résolu
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

  1. 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. : /
    1. Contributeur
      Salut,

      Merci de poster une nouvelle question et de mettre un exemple concret de ce que tu veux.
    2. Contributeur
      grep
  2. Contributeur
    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