2011-11-03 2 views
3

Je sais c shell est très hostile mais je suis coincé avec elle. Alors quelqu'un peut-il m'aider avec cette erreur de syntaxe devrait-être-facile? Je voudrais utiliser l'opérateur de module dans le shell c. Donc la commande est comme ça et ça continue à me donner l'erreur de syntaxe de la commande expr.C Shell opérateur de module

set aVAr =`expr $number * 2 % $frequency` 

J'ai découvert que je peux taper "expr 6% 5" et "expr 3 * 2". Cependant, je ne peux pas utiliser la commande comme "expr 3 * 2% 5". Qu'est ce qui ne va pas avec ça ? Je pense que CSH devrait être capable de prendre trois opérandes en même temps? Merci beaucoup,

Répondre

4

expr est une commande, ne fait pas partie de csh. Vous devez échapper le * pour empêcher csh d'essayer de l'étendre, comme dans

set aVAr =`expr $number \* 2 % $frequency` 
+0

Merci beaucoup. C'est réparé.! – Cassie