คำถามติดแท็ก stdout

stdout เป็นชื่อของ descriptor ไฟล์เอาต์พุตเริ่มต้นของกระบวนการ เนื่องจากไม่มีอะไรพิเศษเกี่ยวกับ "stdout" คุณ * ไม่ควรใช้แท็กนี้ ใช้แท็ก [io-redirection] สำหรับคำถามเกี่ยวกับวิธีเปลี่ยนเส้นทางเอาต์พุตใช้ [file-descriptors] สำหรับคำถามเกี่ยวกับวิธีจัดการตัวอธิบายไฟล์ใช้ [lock] สำหรับคำถามเกี่ยวกับการล็อกไฟล์และใช้ [files] สำหรับคำถามทั่วไปเกี่ยวกับ การทำงานของไฟล์

2
เปลี่ยนเส้นทาง stdin และ stdout ไปยังพอร์ต
ฉันต้องการใช้โปรแกรมPที่อ่านจากstdin& เขียนถึงstdoutแต่เชื่อมต่อกับncหรืออะไรก็ตามที่อ่านจากพอร์ตที่แน่นอนและส่งออกไปยังพอร์ตอื่น # The reading is easy, here P reads from port 50505 nc -l 50505 | P ฉันจะทำให้เขียนกลับไปบอกพอร์ต 60606 ได้อย่างไร

1
การเปลี่ยนเส้นทาง stdout จากสองโปรแกรม
ฉันใช้เครื่องมือตรวจสอบหน่วยความจำ (prog1) ในรหัส C ++ (prog2) ซึ่งทั้งคู่ให้ผลลัพธ์ที่ยอดเยี่ยมและมีรายละเอียดมาก เพื่อที่จะไล่ล่าบั๊กบางตัวฉันต้องบันทึกผลลัพธ์นี้ไปยังไฟล์ ฉันพยายามเปลี่ยนเส้นทาง stdout เป็นไฟล์: prog1 prog2 > outfile.txt แต่นั่นให้ไฟล์ที่มีเอาต์พุตของ prog2 ในขณะที่เอาต์พุตของ prog1 ยังคงไปที่เทอร์มินัล ใครรู้วิธีระบุว่าฉันต้องการให้ทั้งสองผลลัพธ์ไปที่ไฟล์หรือไม่ ชอบ(prog1 prog2) > outfile.txtไหม

1
แสดง STDOUT ก่อน STDERR หรือไม่
ฉันใหม่เพื่อทุบตีและฉันไม่สามารถให้ชีวิตของฉันคิดออกวิธีการเรียกใช้คำสั่งบางอย่างสมมติ./fffและพิมพ์ stdouts ปกติก่อน stderr (ฉันสับสนเกี่ยวกับความหมายของตัวเอง) ตัวอย่างเช่น $ printf "I am a\ndrill\n" > fff; $ cat fff nofile fff nofile fff I am a drill cat: nofile: No such file or directory I am a drill cat: nofile: No such file or directory I am a drill ต้องการพิมพ์เช่น: I am a …

2
เมื่อใดที่ใช้สตรีมข้อผิดพลาดมาตรฐานในแอปพลิเคชันบรรทัดคำสั่ง
มีแนวทางที่จะใช้ข้อผิดพลาดเมื่อเขียนแอปพลิเคชันบรรทัดคำสั่งหรือไม่ ด้วยความประหลาดใจของฉันฉันไม่พบอะไรเลยเมื่อ googling โดยเฉพาะอย่างยิ่งคำถามที่ฉันกังวลตอนนี้คือว่าจะใช้stdoutหรือstderrเมื่อผู้ใช้เรียกโปรแกรมด้วยข้อโต้แย้งที่ผิดกฎหมาย อย่างไรก็ตามคำตอบที่ครอบคลุมมากขึ้นได้รับการชื่นชมอย่างมากเพราะนี่จะไม่เป็นกรณีเดียวที่จำเป็นต้องมีกฎที่ชัดเจนในการเขียนโปรแกรมที่ทำงานในลักษณะที่ผู้ใช้คาดหวัง

3
ทำไมฉันไม่สามารถอ่าน / dev / stdout ด้วยโปรแกรมแก้ไขข้อความได้?
ฉันเพิ่งเริ่มเรียนรู้ว่าทุกอย่างเป็นไฟล์TMบน Linux ซึ่งทำให้ฉันสงสัยว่าจะเกิดอะไรขึ้นถ้าฉันอ่านจาก / dev / stdout: $ cat /dev/stdout ^C $ tail /dev/stdout ^C (นี่^Cคือฉันกำลังฆ่าโปรแกรมหลังจากแฮงค์) เมื่อฉันลองvimฉันได้รับข้อความที่คิดไม่ถึง: "/ dev / stdout" ไม่ใช่ไฟล์ อ้าปากค้าง! แล้วทำไมฉันถึงได้รับ Hangups หรือข้อความแสดงข้อผิดพลาดเมื่อฉันพยายามอ่าน "ไฟล์" เหล่านี้?
9 linux  files  stdout 

3
ตัดความกว้างบรรทัด stdout แบบไดนามิกใน Bash
เมื่อเร็ว ๆ นี้ฉันได้ทดลองกับpsคำสั่งและบางครั้งเส้นทางที่ยาวพันไปยังบรรทัดถัดไป (หรือสอง) และทำให้อ่านยาก ฉันต้องการไพพ์psเอาต์พุตในโปรแกรมอื่นเพื่อ จำกัด เอาต์พุตเป็นxจำนวนอักขระ นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ แต่มันใช้งานไม่ได้: ps aux | cut -c1-$(stty size | cut -d' ' -f2) $(stty size | cut -d' ' -f2)ประเมินถึง 167 cutแต่ไม่ได้ดูเหมือนจะมีการป้อนข้อมูลที่ถูกต้องสำหรับ มีวิธีรับไวยากรณ์ประเภทนี้ทำงานในทุบตี?
9 bash  shell  stdout  cut 

2
ฆ่าโพรเซสถ้ามันเงียบไปชั่วระยะเวลาหนึ่ง
ฉันมียูทิลิตี้ที่มีนิสัยที่น่ารังเกียจที่จะเงียบและอยู่ที่นั่นฉันรู้แล้วว่ามันใช้เวลานานแค่ไหนในการทำสิ่งนี้ดังนั้นฉันจึงใช้timeoutเพื่อต่อสู้กับสิ่งนี้ แต่บางครั้งมันก็ทำก่อนเวลานั้น มีเครื่องมือที่คล้ายกับtimeoutที่จะฆ่ากระบวนการถ้ามันหยุดกำกับการส่งออกไปยัง stdout?
9 linux  bash  shell  stdout  timeout 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.