0

ポート構成行を squid-std.conf ファイルに追加できるスクリプトを作成しようとしています。私のスクリプトには 2 つのパラメーターが必要です。最初のパラメーターは$1http または https で、2 番目のパラメーター$2はポート番号です。これまでの擬似コードでの私のロジック:

  1. パラメータが 2 つあることを確認します。
  2. $1http または https であることを確認します。
  3. $2が有効な番号であることを確認してください。
  4. $2有効な値 0 ~ 65535 であることを確認してください
  5. ポートがすでに開いているかどうかを確認します。
    これは私が立ち往生している部分です。

squid-std.confファイルには多くの構成行が含まれていますが、スクリプトを呼び出す場合はhttp 80、次のような行があるかどうかを確認する必要があります。

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

行の先頭にa を追加することで行をコメントアウトできるので#、 行の先頭に が存在しないことを確認したいと思い#ます。次に、右側に がある場合は、#それとその右側のすべてを削除します。

次に、これらの単語が存在することを確認してくださいaclSafe_ports、および80. の80ようなものに一致しないニーズは280、ただでなければなりません80。これは大文字と小文字が区別されるため、大文字か小文字かを確認する必要はありません。

すべてが一致する場合は、このポートが既に開いていることを画面に出力します。見つからない場合は、ファイル内に行を追加するコードを作成する必要があります。これは後で行うことができます。これで十分な詳細であることを願っています。

ありがとうございました

4

1 に答える 1

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
于 2012-08-23T16:48:50.407 に答える