Mettre une sortie de commande en variable en tableau

je cherche a mettre la sortie de cette commande en 3 variable differente pouvez vous maider

ip=$(ifconfig ens33 | awk -F: '/inet adr:/ {print $2}' | awk '{ print $1 }')

Et, bien, je dirais bien “non”, parce qu’en fait, vous n’êtes pas du tout assez explicite !

Quel langage ? apparemment du shell !
Quel shell ?

En plus la commande telle qu’elle est restituée aura pour résultat un retour vide du prompt :wink:
En effet, il manque un ‘d’ à addr !

ip=$(ifconfig ens33 | awk -F: '/inet addr:/ {print $2}' | awk '{ print $1 }')

donc, avec la commande juste, je suppose que vous voulez trois variables pour :

  1. l’addresse ip
  2. l’addresse de broadcast
  3. le masque réseau

???

oui merci de votre reponse
je suis en bash je recherche le moyen d’isoler ses trois addresse pour un script
pour transformer une addresse dhcp en sattic
il me juste le ip le gateway mais pas le broadcast
esce possible de sorti ses 3 donnée en variable séparer
merci

Très simplement non, mais au plus simple, par exemple :

  • addr="$(ifconfig ens33 | awk '/inet / { print substr($2,6) }')"
  • bcst="$(ifconfig ens33 | awk '/inet / { print substr($3,7) }')"
  • mask="$(ifconfig ens33 | awk '/inet / { print substr($4,6) }')"

C’est un exemple parmi tant d’autres :wink:

Pour info, l’adresse broadcast est toujours écrite dans /sys/class/net/$iface/address au format hexadécimale. (où $iface est le nom de l’interface ciblée)
D’autres informations peuvent être trouvées dans ce répertoire ; il paraît que la commande ifconfig est un “framework” à ces informations là.

Bonjour

J’utilise debian 10 (buster) mais je n’ai pas installé ifconfig

Alors je fais avec la commande ip
ce qui donne, en bash

maReg='inet ([0-9.]*)\/([0-9]*) brd ([0-9.]*)'
[[ $(ip -4 a show ens33) =~ $maReg ]] 

echo ${BASH_REMATCH[1]}   # adresse IP
echo ${BASH_REMATCH[2]}   # masque
echo ${BASH_REMATCH[3]}   # adresse de broadcast

Le tableau BASH_REMATCH contient les 3 valeurs demandées.

1 J'aime

merci de maider jen ai bien de besoin je commence en bash

C’est vrai que l’outil ifconfig n’est plus installé par défaut, en lieu et place d’ip !

Merci pour le rappel et ton intervention.

1 J'aime

Ça se joue aussi dans ce fil de discussion

Oui, et malheureusement dans cet autre aussi !


Résultat : je ferme ce sujet ; et qui veut participer dans l’autre, le fasse…