设置静态 IP 地址的脚本

设置静态 IP 地址的脚本

我正在尝试编写一个脚本来简单地将 /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

相关内容