在squid-std.conf文件中打开端口的脚本

时间:2012-08-23 15:36:00

标签: linux bash shell unix

我想创建一个可以在squid-std.conf文件中添加端口配置行的脚本。我的脚本需要两个参数,第一个$1是http或https,然后第二个参数$2将是端口号。到目前为止,我的逻辑是伪代码:

  1. 确保有两个参数。
  2. 确保$1为http或https。
  3. 确保$2是有效号码。
  4. 确保$2的有效值为0-65535
  5. 现在检查端口是否已打开 这是我坚持的部分。
  6. squid-std.conf文件包含许多配置行,但如果使用http 80调用脚本,我需要检查是否有类似于以下内容的行:

    acl Safe_ports port 80 #custom port change 2012/08/02 15:00
    

    现在因为可以通过在行的前面添加#来注释掉行,我想确保行前面没有#。然后,如果某处有一个#,则删除该右侧的所有内容。

    现在检查以确保这些字词存在aclSafe_ports80。且80280之类的内容不匹配,必须为80。这是区分大小写的,因此无需检查大写或小写。

    如果所有内容都匹配,则在屏幕上打印此端口已打开。如果没有找到,那么我需要制作一些代码来在文件中添加该行,这可以在以后完成。我希望这是足够的细节。

    谢谢

1 个答案:

答案 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