3

长话短说,我需要下面的命令才能在 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': 不是一个有效的标识符

4

1 回答 1

1

我在几个方面遇到了 sed 命令的问题,有一次我忘记以 root 权限运行它,所以简而言之,上面的命令将在脚本中工作。

于 2013-02-24T22:00:13.223 回答