我正在尝试创建一个可以将端口配置行添加到 squid-std.conf 文件的脚本。我的脚本需要两个参数,第一个$1
是 http 或 https,然后第二个参数$2
是端口号。到目前为止,我在伪代码中的逻辑:
- 确保有两个参数。
- 确保
$1
是 http 或 https。 - 确保
$2
是一个有效的号码。 - 确保
$2
是一个有效值 0-65535 - 现在检查端口是否已经打开。
这是我坚持的部分。
该squid-std.conf
文件包含许多配置行,但如果调用脚本,http 80
我需要检查是否有类似于以下的行:
acl Safe_ports port 80 #custom port change 2012/08/02 15:00
现在因为可以通过#
在行的前面添加 a 来注释行,所以我想确保行#
的前面不存在。然后,如果某处右侧有一个#
,则删除该右侧的所有内容。
现在检查以确保这些词存在acl
,Safe_ports
和80
。并且80
需要不匹配的东西280
,必须只是80
。这是区分大小写的,因此无需检查大写或小写。
如果一切匹配,则在屏幕上打印此端口已打开。如果找不到,那么我需要编写一些代码来在文件中添加该行,这可以稍后完成。我希望这是足够的细节。
谢谢