Din lectură cel mod_substitute
documentație, Nu găsesc o singură referință cu privire la motivul pentru care ați crede că ar funcționa cu executarea unui proces extern (sau bifurcarea unui shell sau orice altceva de acest fel). Așa că nu aș considera că acest traseu este unul viabil.
mod_ext_filter
, pe de altă parte, pare adaptat la ceea ce vrei să faci. Totuși, ca să citez documentația acestuia:
Acest mecanism de filtrare este mult mai lent decât utilizarea unui filtru care este scris special pentru API-ul Apache și rulează în interiorul procesului serverului Apache
Deci, dacă aș fi în locul dvs., m-aș gândi să folosesc un limbaj dinamic, cum ar fi PHP (care a fost scris inițial pentru acest caz de utilizare), sau, în cele din urmă, să scriu un program C foarte mic pentru a face ceea ce doriți, deoarece ar ajunge mult mai repede și nu este prea greu.
Acum, dacă vrei să persistezi cu ideea ta, nu folosi /bin/echo
. Înlocuirea în care ai scris "$(sed -E "1s/myString/&$(data +"%T.%3N")/")"
necesită o coajă și /bin/echo
nu va genera unul. Prin urmare, trebuie fie să scrieți un script (soluție pe care o recomand), fie cel puțin să sunați /bin/sh
(sau /bin/bash
dacă sunteți atât de înclinat) cu argumentele potrivite: -c 'var="$(data +"%T.%3N""); sed -E "1s/myString/&$var/"'
.
Este cu adevărat hacky, iar eu mențin un script PHP sau un program C ar fi mai simplu pe termen lung, dar pentru fiecare a lui.