ถ้า py EulerianCycle.py euleriancycle.txt
เขียนไปยังสตรีมเอาท์พุตมาตรฐาน (ซึ่งฉันคิดว่าเป็นเช่นนั้น เพราะไม่เช่นนั้นคุณจะไม่สามารถไปป์ได้ แมว
) แล้ว แมว
ไม่จำเป็นทั้งหมดที่นี่ - คุณสามารถเปลี่ยนเส้นทางเอาต์พุตมาตรฐานได้โดยตรง โดยระบุเส้นทางแบบสัมบูรณ์หรือแบบสัมพัทธ์ไปยังไฟล์เอาต์พุตของคุณ:
py EulerianCycle.py euleriancycle.txt > เอาต์พุต/euleriancycleout.txt
(หมายเหตุ: ไดเร็กทอรี เอาท์พุต/
ต้องมีอยู่แล้ว)
คำสั่งอื่นๆ ของคุณไม่ทำงานอย่างที่คุณคิด
ใน py EulerianCycle euleriancycle.txt > cat euleriancycleout.txt
เชลล์จะสร้างไฟล์ชื่อ แมว
ในไดเร็กทอรีปัจจุบัน และเปลี่ยนเส้นทางเอาต์พุตของ py EulerianCycle
ถึงมันผ่านไป ทั้งสอง euleriancycle.txt
และ euleriancycleout.txt
เป็นอาร์กิวเมนต์อินพุต
ใน py EulerianCycle.py euleriancycle.txt | cat >เอาต์พุตซีดี/euleriancycleout.txt
เชลล์จะสร้างไฟล์ชื่อ ซีดี
ในไดเรกทอรีปัจจุบัน แมว
อ่าน เอาต์พุต/euleriancycleout.txt
และเขียนลงไฟล์ ซีดี
โดยไม่สนใจอินพุตมาตรฐานจากท่อ (แมว
อ่านเฉพาะอินพุตมาตรฐานเมื่อไม่มีไฟล์อินพุตหรือไฟล์ที่ชัดเจน -
).
บางทีสิ่งที่คุณตั้งเป้าไว้ที่นี่ก็คือการไพพ์เอาต์พุตไปยัง a เปลือกย่อย ชอบ:
py EulerianCycle.py euleriancycle.txt | (เอาต์พุตซีดี cat > euleriancycleout.txt)
หรือ
py EulerianCycle.py euleriancycle.txt | (เอาต์พุตซีดี && cat > euleriancycleout.txt)
ที่นี่, แมว
อ่านอินพุตมาตรฐานของ subshell - ซึ่งจัดเตรียมโดยไพพ์ - หลังจากเปลี่ยนเป็นไดเร็กทอรีเป้าหมาย รุ่นที่สองเท่านั้นที่สร้าง euleriancycleout.txt
ถ้า ซีดี
คำสั่งสำเร็จ; อันดับแรกสร้างในไดเร็กทอรีปัจจุบันหากไฟล์ ซีดี
ล้มเหลว