2
ทำซ้ำเอาต์พุตของคำสั่งใน bash โดยไม่มีเชลล์ย่อย
ฉันต้องการวนลูปผลลัพธ์ของคำสั่งโดยไม่สร้าง sub-shell หรือใช้ไฟล์ชั่วคราว เวอร์ชันเริ่มต้นของสคริปต์ของฉันมีลักษณะเช่นนี้ แต่สิ่งนี้ไม่ทำงานเนื่องจากจะสร้าง subshell และexitคำสั่งจะยกเลิก subshell แทนสคริปต์หลักที่ต้องการ เป็นส่วนหนึ่งของสคริปต์ที่มีขนาดใหญ่กว่ามากเพื่อกำหนดค่าการกำหนดเส้นทางนโยบายและจะหยุดการทำงานหากตรวจพบเงื่อนไขที่จะทำให้การกำหนดเส้นทางล้มเหลว sysctl -a 2>/dev/null | grep '\.rp_filter' | while read -r -a RPSTAT ; do if [[ "0" != "${RPSTAT[2]}" ]] ; then echo >&2 "RP Filter must be disabled on all interfaces!" echo >&2 "The RP filter feature is incompatible …