特定のディレクトリ「セット」をターゲットにするには、ここでドキュメントのリダイレクト/追加行に正規表現を使用してください。

特定のディレクトリ「セット」をターゲットにするには、ここでドキュメントのリダイレクト/追加行に正規表現を使用してください。

public_htmlまたは、otherで終わるすべてのサブディレクトリを見つける方法が必要です。.comトップレベルドメイン[いいね]をタップ.bizまたは.co.il一覧表示することもできます。ここのドキュメント

pushd-popdループ内に入れ子になった - ドアの中の私のhereoducmnetは次のとおりです。if-fifor

for dir in "$HOME"/public_html/*/; do
    if pushd "$dir"; then
        cat <<-"EOF" >> "$HOME"/public_html/ALL_DOT_COM|ALL_DOT_BIZ/.htaccess

           Apache_directive_set_1

           Apache_directive_set_2

           popd
        EOF
    fi
done 2>myErrors.txt

これを達成するために、正規表現をここでドキュメントのリダイレクト/追加行(ここ)内で直接結合する方法はありますかALL_DOT_COM|ALL_DOT_BIZ

ベストアンサー1

私はあなたがなどのようなすべての.htaccessディレクトリに追加したいと思います。$HOME/public_html/foo.com/$HOME/public_html/bar.biz/

ループforはすでにすべてのディレクトリを処理しています。問題は、目的のエンディングに一致するようにglobを調整することです。

for dir in "$HOME"/public_html/*.{com,biz,co.il}/; do
    cat <<-"EOF" >> "$dir"/.htaccess
        Apache directives...
        ...
    EOF
done 2>myErrors.txt

ディレクトリへのフルパスがすでに含まれているため、cd必要ないようです。dir

もちろん、上記はリストされた最上位ドメインとのみ一致します。 (「または他のTLD」と書いたので、これが望むものであるかどうかはわかりません。)ディレクトリ名にどのTLDがあるか気にしない場合は、または.../public_html/*/を使用してください.../public_html/*.*/。しかし、まだ他に何もないと仮定します。 (ただし、リストみんなTLDは少しぎこちないです。より多くの内容が出てくるかもしれません...)

おすすめ記事