scripting sh

scripting sh - Linux et OS Alternatifs

Marsh Posté le 16-10-2001 à 10:31:24    

Salut, une pitite kestion pour les boss du sh:
en gros je fait un truc dans le genre:
 
if `test $1 -lt 1 -o $1 -gt 4;echo $?` = 1 ; then
echo "LE NOMBRE EST BIEN ENTRE 0 et 4"
else
echo "VA TE COUCHER"
fi
 
en gros ma commande test marche et renvoie bien 0 ou 1, mais le test qui suit ne marche pas, et me renvoie une erreur a l'execution.
 
donc en gros je me demande bien quelle est l'operateur de test en shell.... j'ai aussi essaye le == 1, le = "1", le == "1", meme le "1"==.... j'en passe...  
 
 
quelqu'un a une idee?

Reply

Marsh Posté le 16-10-2001 à 10:31:24   

Reply

Marsh Posté le 16-10-2001 à 10:59:22    

echo "DONNER UN NOMBRE ENTRE 0 ET 4"
read val
 
TOTO=`test $val -lt 1 -o $val -gt 4;echo $?`
if  [ $TOTO -eq 1 ]; then
echo "LE NOMBRE EST BIEN ENTRE 0 et 4"
else
echo "VATE COUCHER"
fi

Reply

Marsh Posté le 16-10-2001 à 19:36:36    

#!/bin/sh  
 
[ $1 -ge 0 ] && [ $1 -le 4 ] && echo "OK"

 

[edtdd]--Message édité par nicotine--[/edtdd]


---------------
Do androïds dream of electric sheep ?
Reply

Marsh Posté le 16-10-2001 à 19:39:09    

$1 est le 1er parametre passé au script et correspond ici au chiffre à tester


---------------
Do androïds dream of electric sheep ?
Reply

Marsh Posté le 16-10-2001 à 23:50:57    

bravo une ligne a la place de 6 pour moi :p
 
mais j'aime la complication :)

Reply

Marsh Posté le 17-10-2001 à 01:16:45    

joli coup ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed