   
    Chaque ARG est une expression arithmétique à évaluer. L'évaluation
    est faite avec des entiers de largeur fixe sans vérification de
    dépassement, mais la division par zéro est interceptée et
    signalée comme une erreur. La liste suivante d'opérateurs
    est groupée par niveau d'égale priorité. Les niveaux sont listés
    par priorité décroissante.
    
    	id++, id--	post-incrément ou post-décrément de variable
    	++id, --id	pré-incrément ou pré-décrément de variable
    	-, +		moins unaire, plus unaire
    	!, ~		négations logique et binaire
    	**		mise en exposant
    	*, /, %		multiplication, division, reste de la division
    	+, -		addition, soustraction
    	<<, >>		décalage binaire à gauche et à droite
    	<=, >=, <, >	comparaison
    	==, !=		égalité, inégalité
    	&		ET binaire
    	^		OU binaire exclusif
    	|		OU binaire
    	&&		ET logique
    	||		OU logique
    	expr ? expr : expr
    			opérateur de condition
    	=, *=, /=, %=,
    	+=, -=, <<=, >>=,
    	&=, ^=, |=	affectation
    
    Les variables de shell sont autorisées comme opérandes. Le nom de la
    variable est remplacé par sa valeur (contrainte à un entier de largeur
    fixe) à l'intérieur d'une expression. La variable n'a pas besoin d'avoir
    son attribut d'entier activé pour être utilisée dans une expression.
    
    Les opérateurs sont évalués dans leur ordre de priorité. Les sous-expressions
    entre parenthèses sont évaluées en premier et peuvent être prioritaires sur
    les règles ci-dessus.
    
    Code de sortie :
    Si le dernier ARG est évalué à 0, « let » renvoie 1, sinon 0 est renvoyé.