Se eu entendi corretamente, você deseja obter o endereço MAC da NIC que está sendo usada e, em seguida, encontrar o arquivo em /etc/sysconfig/network-scripts/
que menciona esse endereço MAC e renomeá-lo como ifcfg-NIC
, em que NIC
é o dispositivo de rede encontrado anteriormente. Em caso afirmativo, isso deve funcionar:
#!/usr/bin/env bash
## Get the NIC's name
# nic=$(/sbin/route -n | awk '/^0\.0\.0\.0/{print $NF}')
nic=$(/sbin/ip route show | awk '/default/{print $5}')
## Get the NIC's MAC address
#mac=$(/sbin/ifconfig "$nic" | grep -oP 'HWaddr\s*\K[^\s]*')
mac=$(/sbin/ip link show "$nic" | grep -oP 'ether\s*\K[^\s]*')
## Get the file name. This assumes that there will only
## be one matching file.
file=$(grep -lm 1 "$mac" /etc/sysconfig/network-scripts/*)
## Change the NAME line to the new NIC and make
## a backup copy of the file called "$file.bak".
sed -i.bak -r "s/NAME=(.*)/NAME=$nic/" "$file"
## Rename the file
mv "$file" "$(dirname "$file")"/ifcfg-"$nic"