Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2027 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  aide commande bash (encore re:calcul d'expression mathématique)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide commande bash (encore re:calcul d'expression mathématique)

n°227634
bobor
tueur de n44b
Posté le 24-02-2003 à 12:05:12  profilanswer
 

je voudrais récupérer dans un script bash le nom du programme lui-même. Il y a bien la variable $0 mais cette variable insère également le chemin, or je veux que le nom du fichier:
echo "$0"
/rep/nom
 
et moi je veux "nom"
 
comment le récupérer sous bash?
 
Ensuite, je voudrais le convertir en majuscule. Comment faire?


Message édité par bobor le 24-02-2003 à 23:19:26

---------------
Gitan des temps modernes
mood
Publicité
Posté le 24-02-2003 à 12:05:12  profilanswer
 

n°227635
HuGoBioS
Posté le 24-02-2003 à 12:07:43  profilanswer
 

j'avais fait un tomic sur la conversion en minuscule, ca doit s'approcher pour la conv en majuscule
de plsu tu devrai trouver ce qu'il te faut pr n'avoir que le nom du prog dnas ce meme topic


---------------
-= In Kik00 101 I trust :o =-
n°227641
minusplus
Posté le 24-02-2003 à 12:14:49  profilanswer
 

nom=$(echo ${0##*/}|tr a-z A-Z)


Message édité par minusplus le 24-02-2003 à 12:15:00
n°227663
bobor
tueur de n44b
Posté le 24-02-2003 à 12:30:23  profilanswer
 

:jap:


---------------
Gitan des temps modernes
n°227679
bobor
tueur de n44b
Posté le 24-02-2003 à 12:54:47  profilanswer
 

J'ai un autre problème:
voici une partie du script:
 

CONF_PARA="$NAME""_CONF"
DMZ=`sed -n -e '/^SMB_DMZ/p' ${CONF_FILE} | sed -e 's/\(.*\)\=\(.*\)/\2/'`
CONF=`sed -n -e '/^${CONF_PARA}/p' ${CONF_FILE} | sed -e 's/\(.*\)\=\(.*\)/\2/'`


 
la première commande en sed (SMB_DMZ) marche parfaitement (j'en avais ch... pour la trouver  :D )
Elle permet d'aller chercher dans le fichier CONF_FILE (variable) l'occurence "SMB_DMZ=paramètre" et de récupérer "paramètre".
La deuxième est identique (occurence en SMB_CONF avec NAME="SMB" ) mais je remplace SMB_DMZ par une variable. Et là cela ne marche plus, il ne ressort qu'une chaine vide.
Une idée?


---------------
Gitan des temps modernes
n°227690
minusplus
Posté le 24-02-2003 à 13:08:50  profilanswer
 

Bobor a écrit :

J'ai un autre problème:
voici une partie du script:
 

CONF_PARA="$NAME""_CONF"
DMZ=`sed -n -e '/^SMB_DMZ/p' ${CONF_FILE} | sed -e 's/\(.*\)\=\(.*\)/\2/'`
CONF=`sed -n -e '/^${CONF_PARA}/p' ${CONF_FILE} | sed -e 's/\(.*\)\=\(.*\)/\2/'`


 
la première commande en sed (SMB_DMZ) marche parfaitement (j'en avais ch... pour la trouver  :D )
Elle permet d'aller chercher dans le fichier CONF_FILE (variable) l'occurence "SMB_DMZ=paramètre" et de récupérer "paramètre".
La deuxième est identique (occurence en SMB_CONF avec NAME="SMB" ) mais je remplace SMB_DMZ par une variable. Et là cela ne marche plus, il ne ressort qu'une chaine vide.
Une idée?

trop compliqué ! :D ton premier sed est simplement un grep !
pour le 2ème cas c'est passke ton $CONF_PARA est entre single quotes, il n'est donc pas interprété.
 
sinon :  
 


DMZ=`sed -n 's-[ \t]*SMB_DMZ[ \t]*=[ \t]*--p' $CONF_FILE`
CONF=`sed -n "s-[ \t]*$CONF_PARA[ \t]*=[ \t]*--p" $CONF_FILE`


Message édité par minusplus le 24-02-2003 à 13:15:41
n°227731
e_esprit
Posté le 24-02-2003 à 13:46:44  profilanswer
 

Bobor a écrit :

je voudrais récupérer dans un script bash le nom du programme lui-même. Il y a bien la variable $0 mais cette variable insère également le chemin, or je veux que le nom du fichier:
echo "$0"
/rep/nom
 
et moi je veux "nom"
 
comment le récupérer sous bash?


basename $0
C'est la _vrai_ commande bash (c'est juste plus propre/lisible quoi...)

n°227740
minusplus
Posté le 24-02-2003 à 13:58:32  profilanswer
 

e_esprit a écrit :


basename $0
C'est la _vrai_ commande bash (c'est juste plus propre/lisible quoi...)

ah ben non, justement, basename c'est pas bash ! [:spamafote]

n°227754
e_esprit
Posté le 24-02-2003 à 14:07:03  profilanswer
 

:D Oups, c'est vrai, j'ai dis une grosse connerie...
C'est une commande système... sorry !!! :sweat:

n°227756
minusplus
Posté le 24-02-2003 à 14:08:12  profilanswer
 

e_esprit a écrit :

:D Oups, c'est vrai, j'ai dis une grosse connerie...
C'est une commande système... sorry !!! :sweat:  

disons que basename c'est plus portable ! ;)

mood
Publicité
Posté le 24-02-2003 à 14:08:12  profilanswer
 

n°228023
bobor
tueur de n44b
Posté le 24-02-2003 à 20:51:54  profilanswer
 

bah j'apprends des choses!
 
pour ma commande "compliquée", je la garde car elle a fait ses preuves  :D  
 
Maintenant nouveau problème:
 
j'ai une variable RATE=1/2
une VARIABLE UPLINK=128
je souhaite calculer le résultat
RES=$RATE*$UPLINK
mais suivant mes essais avec des {}, [], "" et autres joyeusetés j'ai soit la chaîne "1/2*128" soit 0.
 
Encore un peu d'aide?  :D


---------------
Gitan des temps modernes
n°228080
e_esprit
Posté le 24-02-2003 à 22:33:11  profilanswer
 

et avec RATE=0.5 ca marche pas mieux ?

n°228083
bobor
tueur de n44b
Posté le 24-02-2003 à 22:41:46  profilanswer
 

non pareil


---------------
Gitan des temps modernes
n°228120
houplaboom​42
Posté le 25-02-2003 à 01:09:17  profilanswer
 

je crois que pour les expressions mathematiques en bash c est du genre :
 
 

Code :
  1. RES=$(($RATE*$UPLINK))

 
 
et il me semble que les variables doivent etre des entiers , neanmooins dans ton cas ca marche le resultat RES etant un entier

n°228123
bobor
tueur de n44b
Posté le 25-02-2003 à 01:18:12  profilanswer
 

j'ai trouvé. Effctivement, le résultat est un entier. Donc j'ai inversé les 2 variables et tout roule: RES=$(($i*$j))


---------------
Gitan des temps modernes
n°229762
minusplus
Posté le 27-02-2003 à 11:35:36  profilanswer
 

Bobor a écrit :


 
pour ma commande "compliquée", je la garde car elle a fait ses preuves  :D  

[:spamafote]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  aide commande bash (encore re:calcul d'expression mathématique)

 

Sujets relatifs
Commande FTP "site"Besoin d'aide avec apache + php + mysql + RedHat 8.0
cherche doc ou aide explicite sur la mise en place Bugzillaun chti peu d'aide svp ... choix d'un distrib pour firewall, une bien
aide pour samba avec XPInformation sur la config en ligne de commande?
Besoin d'aide Iptables[Debian]Comment ce fait l'initialisation du bash ??
commande unrar ( mandrake )[icecast2] aide pour la config!
Plus de sujets relatifs à : aide commande bash (encore re:calcul d'expression mathématique)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR