Récupérer un résultat commande bash
eakek
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour les besoins de mon scripts en bash j'aimerai récupérer le résultat d'une commande, qui par la suite ce fameux résultat me servira pour le hostname les machines en questions.
Je me sert de la mac adresse de la machine pour ensuite l'inclure dans le hostname
Exemple :
PC1 = toto14
PC2 = toto8
PC 3 = toto45
Etc...
Voici ma commande qui me permet de récupérer la mac adresse et par la même occasion de "cut" et de prendre qu'un seul morceau.
ip -o link | awk '$2 != "lo:" {print $2, $(NF-2)}' | cut -d: -f7
ce que j'aimerai comme je l'ai dit, c'est prendre le résultat de la commande et d'y inclure le changement du hostname de la machine en prenant compte le résultat de la commande ci dessus.
Une petite aide serait pas refus, merci ;)
Pour les besoins de mon scripts en bash j'aimerai récupérer le résultat d'une commande, qui par la suite ce fameux résultat me servira pour le hostname les machines en questions.
Je me sert de la mac adresse de la machine pour ensuite l'inclure dans le hostname
Exemple :
PC1 = toto14
PC2 = toto8
PC 3 = toto45
Etc...
Voici ma commande qui me permet de récupérer la mac adresse et par la même occasion de "cut" et de prendre qu'un seul morceau.
ip -o link | awk '$2 != "lo:" {print $2, $(NF-2)}' | cut -d: -f7
ce que j'aimerai comme je l'ai dit, c'est prendre le résultat de la commande et d'y inclure le changement du hostname de la machine en prenant compte le résultat de la commande ci dessus.
Une petite aide serait pas refus, merci ;)
2 réponses
-
Salut,
Quasiment rien pigé à ton problème ;-(
Je comprends la récup de l'adresse MAC.
Je ne ne comprends pas la récup des 2 derniers caractères ;-\
Et que vient faire le changement de hostname ???
Merci de mettre un AVANT => APRÈS de ce que tu espères comme résultat.
-
En attendant voilà ce qu'il est possible de faire ou d'envisager…
Récupération de la commande dans une variable (adapter à ma sauce vu que j'ai plusieurs interfaces)$ var=$(ip -o link | awk '$2 == "enp2s0:" {print $2, $(NF-2)}')
Affichage du contenu de la variable :$ echo "${var}"
enp2s0: 2c:60:0c:f4:a0:f2
Affichage que du nom de l'interface :$ echo "${var%%:*}"
enp2s0
Affichage que de l'adresse MAC :$ echo "${var#* }"
2c:60:0c:f4:a0:f2
Affichage que des 2 derniers caractères :$ echo "${var: -2}"
f2
-
-
Afin de pouvoir donner un nom unique sur chaque poste via mon scripts et être sur que les poste ne possède pas le même chiffre lors de la création de compte sur de multiple machine via mon scripts.
Du coup je récupère un morceau de la mac adresse exemple D2 et je récupère ce fameux "D2" pour faire le nom de mon hostname sur la machine
Exemple, TOTOD2, TOTOC7, TOTOE9
Ainsi je lance mon scripts sur l'ensemble des machines et j'ai pas besoin de faire le changement du hostname manuellement, création du compte etc..