สมมติว่าฉันมีสคริปต์ Zsh และฉันต้องการให้มันพิมพ์ผลลัพธ์ไปSTDOUT
ยัง แต่ก็คัดลอก (ดัมพ์) เอาต์พุตไปยังไฟล์ในดิสก์
ยิ่งกว่านั้นสคริปต์เริ่มต้นด้วยตัวเลือกต่อไปนี้
set -o xtrace
ซึ่งบังคับให้มันเป็น verbose และพิมพ์คำสั่งที่มันทำงาน ฉันต้องการที่จะจับเอาท์พุทนี้เช่นกันในไฟล์ในดิสก์
ความเข้าใจของฉันคือถ้าฉันทำ
./my_script.sh > log.txt
มันจะส่งSTDOUT
ไปlog.txt
แต่ถ้าฉันต้องการที่จะเห็นเอาท์พุทใน terminal?
ฉันได้อ่านเกี่ยวกับtee
และMULTIOS
ตัวเลือกใน zsh แต่ฉันไม่แน่ใจว่าจะใช้พวกเขา
เมื่อฉันทำ:
./my_script | tee log.txt
ฉันสามารถเห็นผลลัพธ์บนเทอร์มินัล แต่ไฟล์ไม่log.txt
เห็นว่าจะจับทุกอย่าง (อันที่จริงมันเก็บแทบทุกอย่าง)
script
คำสั่ง หรืออาจเป็นmyscript >&1 > log.txt 2>&1
./my_script.sh > log.txt 2>&1