首页 /服务器与软件/Linux
 Linux-防火墙中值保留几个端口的脚本
2026年4月28日 14:56

如果没安装防火墙:

具体代码只能由VIP查看,请升级

update_firewall.sh 代码(VSCode看到是UTF-8 LF,否则出错,用宝塔SSH在/root目录上传文件,目录/etc太满无空白导致无上传文件的功能):

具体代码只能由VIP查看,请升级

执行:

具体代码只能由VIP查看,请升级

详细解释:

具体代码只能由VIP查看,请升级

执行:

具体代码只能由VIP查看,请升级

解释:./表示当前目录。

运行后:

具体代码只能由VIP查看,请升级

注意:

如果用宝塔SSH后,会出现:

具体代码只能由VIP查看,请升级

是因为下载的VSCode看到是UTF-8 CRLF,必须是VSCode看到是UTF-8 LF,可以用宝塔SSH先删除,再上传(因为覆盖不了只能先删除)。

<hr/>

小知识:

#!/bin/bash 是一个shebang 行(也称为 hashbang 或 bang line),它是脚本文件的第一行,用于告诉操作系统应该使用哪个解释器来执行这个脚本。

<p 0="" 1="" style="color: rgb(28, 31, 35); font: 400 16px / 24px ui-sans-serif, system-ui, sans-serif, " apple="" color="" segoe="" ui="" noto="" white-space:="" flex:="" flex-direction:="" justify-content:="" align-items:="" padding:="" margin:="" background-image:="" background-position:="" background-size:="" background-repeat:="" background-attachment:="" background-origin:="" background-clip:="">详细解释:

#! - 这两个字符组合被称为 "shebang" 或 "hashbang"

/bin/bash - 指定了 bash 解释器的路径

作用:

当您直接执行一个脚本文件(如 ./script.sh)时,操作系统会:1 读取文件的第一行2 看到 #!/bin/bash 后,知道应该使用 /bin/bash 来解释执行这个脚本3 调用 bash 解释器来运行脚本中的命令

其他常见的 shebang:

#!/bin/sh - 使用 sh 解释器(更基础的 shell)

#!/usr/bin/python3 - 使用 Python 3 解释器

#!/usr/bin/perl - 使用 Perl 解释器

#!/usr/bin/env bash - 更灵活的写法,会从 PATH 中查找 bash

为什么需要它:

如果没有 shebang 行,操作系统可能不知道如何正确执行脚本,或者会使用默认的 shell(通常是 /bin/sh),这可能导致某些 bash 特有功能无法正常工作。

这是 Unix/Linux 系统中脚本编程的标准做法。

还有个简单的办法:

具体代码只能由VIP查看,请升级


 
全部回复(0)
首页 | 电脑版 |