gpt4 book ai didi

string - 如何以编程方式将 MAC 地址插入/etc/network/interfaces?

转载 作者:行者123 更新时间:2023-12-04 18:42:07 26 4
gpt4 key购买 nike

我正在尝试编写一个在使用 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 之后直接插入?

最佳答案

问题

  • 无用的猫。不要那样做。
  • 你没有使用正确的工具来完成这项工作。使用 GNU sed 让自己的生活更轻松。

  • 解决方案
    # 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/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com