我想创建一个可以在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
现在因为可以通过在行的前面添加#
来注释掉行,我想确保行前面没有#
。然后,如果某处有一个#
,则删除该右侧的所有内容。
现在检查以确保这些字词存在acl
,Safe_ports
和80
。且80
与280
之类的内容不匹配,必须为80
。这是区分大小写的,因此无需检查大写或小写。
如果所有内容都匹配,则在屏幕上打印此端口已打开。如果没有找到,那么我需要制作一些代码来在文件中添加该行,这可以在以后完成。我希望这是足够的细节。
谢谢
答案 0 :(得分:0)
#!/bin/bash
SCHEME=http
PORT=80
SQUID_CONF=/path/to/squid-std.conf
if egrep -q "^ *acl +Safe_ports +port +$PORT " $SQUID_CONF
then
echo "this port is already open."
fi