我正在尝试编写一个脚本来简单地将 /etc/network/interfaces 文件中的网络接口设置为静态,但是我收到了许多错误。
这是我的脚本:
#! /bin/bash
sudo -c cat >/etc/network/interfaces << EOF
auto enp0s3
iface enp0s3 inet static
address 192.168.1.28
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
EOF
ip a show enp0s3
我知道这可能是错的,但我对原因感到很困惑。我想要做的是打开 intefaces 文件,写入它然后保存它。相反,它说第 2 行权限被拒绝,并且不更改接口文件。我已将脚本的权限更改为 chmod 777 并使用 sudo 运行它,但仍然没有任何反应。任何帮助都将不胜感激。
答案1
您的第一行后面有一个空格字符#!
。另外,删除该-c
选项。它不是用于输入命令的 sudo 选项。您可能会与 su 命令混淆。
并且,请注意,除非您想覆盖所有/etc/network/interfaces
文件,否则您必须使用>>
而不是单个>
。
#!/bin/bash
sudo cat >> /etc/network/interfaces << EOF
auto enp0s3
iface enp0s3 inet static
address 192.168.1.28
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
EOF