[Bash Renommer argument
AzN_03
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
AzN_03 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
AzN_03 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous ,
Voila j'ai un petit problème dont je n'arrive pas a me défaire ^^
Je n'arrive pas a changer le nom d'un argument automatiquement . Je poste un bout de code pour etre plus clair
Code :
#!/bin/bash
a=0
for i in $*
do
VM$a=$i // La ligne qui foire ^^
a=$(($a+1))
done
Pour chaque valeur j'aimerai donc attribuer une variable du type VM$a
Pour avoir comme résultat suivant au lancement de la commande : ./script s_data s_ftp etc..
VM1=s_data
VM2=s_ftp
etc...
Merci a tous !
Voila j'ai un petit problème dont je n'arrive pas a me défaire ^^
Je n'arrive pas a changer le nom d'un argument automatiquement . Je poste un bout de code pour etre plus clair
Code :
#!/bin/bash
a=0
for i in $*
do
VM$a=$i // La ligne qui foire ^^
a=$(($a+1))
done
Pour chaque valeur j'aimerai donc attribuer une variable du type VM$a
Pour avoir comme résultat suivant au lancement de la commande : ./script s_data s_ftp etc..
VM1=s_data
VM2=s_ftp
etc...
Merci a tous !
A voir également:
- [Bash Renommer argument
- Renommer des fichiers en masse - Guide
- Renommer iphone - Guide
- Comment renommer quelqu'un sur instagram - Guide
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Programmation
- Erreur argument casio graph 35+e ✓ - Forum calculatrices
Deuxième fois que tu m'aide !!!
Une autre petite question ^^
Dans ma boucle j'aimerai faire un echo de ma variable VM$a sans spécifié le numéro comment je peut réaliser cela ???
Merci a toi !
#!/bin/bash a=1 for i in $* do eval VM$a=$i eval echo VM$a=$i ((a++)) doneLa sa va marquer sa :
VM1=toto
VM2=tata
Mais mois se que j'aimerais c'est que sa me marque sa :
toto
tata
Sans me servir du $i , j'aimerais que sa m'affiche le contenue de la variable VM$a
Alors qu'un eval echo VM$a va juste m'afficher VM1. J'aimerais donc afficher en clair $((VM$a)) mais c'est pas la bonne syntax.
Merci pour ton aide !
#!/bin/bash a=1 for i in $* do eval VM$a=$i eval echo $VM$i ((a++)) done#!/bin/bash a=1 HOST=192.168.20.31 CRIT=70 WARN=85 STATUS=0 nagios_plug_dir=/usr/local/nagios/libexec SERVEUR="ESX :" for i in $* do eval VM$a=$i eval VM$a='$nagios_plug_dir/check_esx3.pl -H $HOST -u nagios -p orion808 -N $i -l mem -s usage |cut -d ' ' -f6 | cut -c7-' # cette commande retourne un decimal RES=$? if [ $RES != 0 ] ; then # Si la commande n'as pas reussie INK=" SNMP problem. No data received from host."; echo $INK; STATUS=3; exit $STATUS; fi echo $i eval echo VM$a # C'est ici le soucis je veux faire afficher la valeur decimal a=$(($a + 1)) done