จากการอ่าน เดอะ mod_substitute
เอกสารฉันไม่สามารถหาข้อมูลอ้างอิงเดียวว่าทำไมคุณถึงคิดว่ามันจะใช้งานได้กับการดำเนินการกระบวนการภายนอก (หรือการฟอร์กเชลล์หรืออะไรก็ตามในประเภทนั้น) ดังนั้นฉันจะไม่ถือว่าเส้นทางนี้เป็นทางรอด
mod_ext_filter
ในทางกลับกัน ดูเหมือนว่าจะปรับให้เข้ากับสิ่งที่คุณต้องการจะทำ อย่างไรก็ตามเพื่ออ้าง เอกสารของมัน:
กลไกการกรองนี้ช้ากว่าการใช้ตัวกรองซึ่งเขียนขึ้นเป็นพิเศษสำหรับ Apache API และทำงานภายในกระบวนการเซิร์ฟเวอร์ Apache
ดังนั้น ถ้าฉันเป็นคุณ ฉันจะพิจารณาใช้ภาษาไดนามิกเช่น PHP (ซึ่งเดิมเขียนขึ้นสำหรับกรณีการใช้งานนี้) หรือท้ายที่สุดก็เขียนโปรแกรม C ขนาดเล็กมากเพื่อทำสิ่งที่คุณต้องการ เพราะมันจะจบลงมาก เร็วขึ้นและไม่ยากเกินไป
ตอนนี้ ถ้าคุณต้องการยืนหยัดกับความคิดของคุณ อย่าใช้ /bin/เสียงสะท้อน
. การแทนที่ที่คุณเขียน "$(sed -E "1s/myString/&$(date +"%T.%3N")/")"
ต้องใช้เปลือกและ /bin/เสียงสะท้อน
จะไม่วางไข่ ดังนั้นคุณต้องเขียนสคริปต์ (โซลูชันที่ฉันอยากแนะนำ) หรืออย่างน้อยก็โทร /ถัง/sh
(หรือ /ถัง/ทุบตี
ถ้าคุณโน้มเอียงมาก) ด้วยข้อโต้แย้งที่เหมาะสม: -c 'var="$(วันที่ +"%T.%3N")"; sed -E "1s/myString/&$var/"'
.
มันแฮ็คจริงๆ และฉันก็รักษาสคริปต์ PHP หรือโปรแกรม C จะง่ายกว่าในระยะยาว แต่สำหรับแต่ละคน