长话短说,我需要下面的命令才能在 bash 脚本中工作。
我需要更改虚拟 kvm 正在使用的网络子网。让我感到困难的是试图让它作为命令进行更改。通常,您运行命令 sudo virsh net-edit default它会打开一个 vi(或其他)会话,然后您进行编辑并关闭。
net-edit选项允许用户使用他们喜欢的编辑器编辑虚拟网络的 XML 配置。net-edit 启动命令(或脚本)在用户 $EDITOR 环境变量中定义,将虚拟网络的 XML 配置的临时副本传递给它。
当用户退出编辑器时,net-edit 检查临时文件是否已更改。
所以对我来说,我想通过 sed 传递它,这样我就可以在脚本中使用它。以下示例可以从命令行运行,但它不适用于我的脚本。我不确定我做错了什么,但我还没有弄清楚。如果有人有想法,将不胜感激。
这适用于命令行,但不适用于脚本。获取有关命令的错误消息:
EDITOR='sed -i "s/192.168.100.1/192.168.11.1/g"' virsh net-edit default
这是一个相关的线程: Changing the dhcp IP range in Virbr0's XML file using virsh in bash script
这是错误信息
./test: line 2: export: `net-edit': 不是一个有效的标识符