我正在尝试编写一个在使用 wlan0
时使用用户创建的 MAC 地址的脚本。界面。
为了测试,我创建了一个名为 testFile.txt
的文件,这是 /etc/network/interfaces
的副本.如果wlan0
之后有接口(interface), 我不能使用 echo "$var" >> testFile.txt
因为这只是将文本添加到末尾。
我能够找到 wlan0
的结尾界面文本,但我不知道如何插入那里。以下是我目前拥有的:
#!/bin/bash
echo "Enter MAC Address"
read var
log=$(cat testFile.txt | grep -o "wlan0.*" | grep -o dhcp)
echo $log
echo $log
打印 dhcp
.我尝试添加
| echo "hwaddress ether $var" >> testFile.txt
至$log
但这仍然附加到文件的末尾。如何在
$log
之后直接插入?
最佳答案
问题
解决方案
# Insert hwaddress line into /etc/network/interfaces.
read -p "Enter MAC Address: "
sudo sed -i.bak "/iface wlan0/a\ hwaddress $REPLY" /etc/network/interfaces
# Replace existing hwaddress line in /etc/network/interfaces.
read -p "Enter MAC Address: "
sudo sed -ri.bak "s/(hwaddress).*/\1 $REPLY/"
关于string - 如何以编程方式将 MAC 地址插入/etc/network/interfaces?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720898/