Transtypage dans un script shell

Transtypage dans un script shell - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 02-09-2004 à 19:10:20    

Salut à tous,
 
J'ai un petit problème dans un script.
 
Je récupère une valeur (via snmpget) qui est un nombre d'octets.
Le problème est qu'elle est considérée comme chaine de caractère.
 
Ma question est donc: comment faire un transtypage de chaine vers entier ou réel dans un script shell pour que je puisse la manipuler?
 
Je cherche depuis un petit moment déjà, mais sans résultats ...
 
Merci pour votre aide
 
KZ


Message édité par Kaiserzeus2001 le 02-09-2004 à 19:27:12
Reply

Marsh Posté le 02-09-2004 à 19:10:20   

Reply

Marsh Posté le 02-09-2004 à 19:31:50    

declare -i ta_variable
 
ta_varaible sera de type entier :o

Reply

Marsh Posté le 02-09-2004 à 19:46:13    

Bon, voila le detail:
J'avais dejà testé mais cela ne passe pas...
 

Code :
  1. #! /bin/sh
  2. declare -i in;
  3. declare -i out;
  4. if [[ $1 == "-i" ]]; then
  5. shift 1;
  6. interface=$1;
  7. shift 1;
  8. fi
  9. in=`snmpget 192.168.1.1 -v 1 -Oe -c public 1.3.6.1.2.1.2.2.1.10.$interface|cut -d':' -f 4`;
  10. out=`snmpget 192.168.13.1 -v 1 -c 17public17 1.3.6.1.2.1.2.2.1.16.$interface|cut -d':' -f 4`;
  11. if ! [ "$in" ]; then
  12. in=0;
  13. fi
  14. if ! [ "$out" ]; then
  15. out=0;
  16. fi
  17. in=`expr in / 1048576`;
  18. out=`expr out / 1048576`;
  19. echo $in;
  20. echo $out;


 
 
voila le resultat:
 

Code :
  1. expr: argument non numérique
  2. expr: argument non numérique
  3. 0
  4. 0

Reply

Marsh Posté le 02-09-2004 à 19:48:00    

zaib@serveur:~/mldonkey$ var=56
zaib@serveur:~/mldonkey$ echo $((var/2))
28
zaib@serveur:~/mldonkey$


 
on the fly :o
 
expr c'est tout pourri :o

Reply

Marsh Posté le 02-09-2004 à 19:51:04    

Yaisse !
 
Merci bp !
 
;)

Reply

Marsh Posté le 02-09-2004 à 19:52:43    

quand on peut aider :o
 
 
:D

Reply

Marsh Posté le 02-09-2004 à 21:07:20    

sinon l'erreur :

Code :
  1. in=`expr $in / 1048576`;
  2. out=`expr $out / 1048576`;


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Sujets relatifs:

Leave a Replay

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