bash - 在 bash 脚本中将两个变量传递给 sed
问题描述
希望有人能够在这里为我指明正确的方向。当我在 sed 中传递两个变量时,它似乎不再识别输入,因此不会替换我正在寻找的字符串。
有人可以看看我的语法吗?
让我们在这里假设
$netmask1="/24"
$ipaddrs="192.168.0.2 192.168.0.3
astringb=$(grep -m 1 addresses /etc/netplan/01-netcfg.yaml)
astringa=${astringb:0:-1}
ipaddrs=$(echo $ipaddrs | sed "s| |$netmask1\,|g")
sed "s|$astringb|$astringa$ipaddrs$netmask1\]|g" /etc/netplan/01-netcfg.yaml
一旦我将变量 $astringb 传递给 sed,它就不再能够在我的 netplan 配置文件中识别所述字符串。如果我用这个文件中的任何实际文本替换这个变量,它会立即识别并替换。
将不胜感激任何帮助。
解决方案
推荐阅读
- swift - 是否可以同时运行 2 个独立的 ARSession?
- excel - 如何锁定工作表中的特定范围但不锁定工作表
- here-api - 如何将车站代码翻译成 HERE API Transit ID?
- python - 当 Python 代码输出一个数组或数组列表时。是那些 NumPy 数组还是别的什么?
- powerbi - 按类别划分的 DAX 百分比
- python - 如何将网络中的列表写入 csv 文件,然后从网络中的不同页面/选项卡附加到列表
- html - 这个带有垂直弹性框和动态删除元素的 chrome 错误是否有解决方法?
- typo3 - Typo3 为 CommandController 命令定义 storagePid
- java - 如何制作自定义的导航抽屉菜单?
- ruby - 如何从外部停止 udp_server_loop