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

Stdout เป็นสตรีมเอาต์พุตมาตรฐานเป็นปลายทางเริ่มต้นของเอาต์พุตปกติสำหรับแอปพลิเคชัน

4
ฉันสามารถทำให้ cURL ล้มเหลวด้วย exitCode ที่แตกต่างจาก 0 ได้หรือไม่หากรหัสสถานะ HTTP ไม่ใช่ 200
ฉันมักจะสมมติว่าเมื่อ curl ได้รับการตอบสนอง HTTP 500 มันกลับรหัสทางออกที่หมายถึงความล้มเหลว (! = 0) แต่ที่ดูเหมือนจะไม่เป็นกรณี มีวิธีที่ฉันสามารถทำให้ cURL ล้มเหลวด้วย exitCode ที่แตกต่างจาก 0 ถ้ารหัสสถานะ HTTP ไม่ได้ 200? ฉันรู้ว่าฉันสามารถใช้งานได้-w "%{http_code}"แต่ใส่ไว้ใน STDOUT ไม่ใช่รหัสออก (นอกจากนี้ฉันยังสนใจที่จะจับเอาท์พุทซึ่งฉันไม่ต้องการเปลี่ยนเส้นทางไปยังไฟล์ แต่ไปที่หน้าจอ)

5
คุณเปลี่ยนเส้นทาง wget เพื่อตอบสนองต่อมาตรฐานได้อย่างไร
ฉันมีcrontabที่wgetหน้า SA PHP ทุกห้านาที (เพียงเพื่อให้ทำงานบางโค้ด PHP) และฉันต้องการที่จะส่งออกของการร้องขอไปยังออกมาตรฐานในขณะที่การส่งปกติwgetออกไป/dev/null(หรือมิฉะนั้นจะซ่อนมัน) ฉันหามันไม่พบในwgetคู่มือ ฉันกำลังมองหาสิ่งที่ชอบ: wget -o stdout http://whatever.com/page.php > /dev/null ใครรู้บ้าง
148 linux  wget  stdout 

9
เข้าสู่ระบบการหมุนของ stdout?
ฉันมีโปรแกรม Linux ที่สามารถเขียนข้อมูลไปยัง stdout และ stderr /var/logฉันมีสคริปต์เชลล์ซึ่งเปลี่ยนเส้นทางการส่งออกที่ยังแฟ้มใน (ผ่าน>>และ2>&1.) มีวิธีทำให้ไฟล์บันทึกนั้นหมุนหรือไม่ (ขนาดสูงสุดจากนั้นเปลี่ยนเป็นไฟล์อื่นเก็บเฉพาะไฟล์จำนวน จำกัด ) ฉันเห็นคำตอบสองสามข้อที่พูดเกี่ยวกับlogrotateโปรแกรมซึ่งฟังดูดี แต่พวกเขาก็ดูเหมือนจะเน้นไปที่โปรแกรมที่สร้างไฟล์บันทึกภายในและจัดการสัญญาณ HUP มีวิธีที่จะทำให้การทำงานนี้ด้วยสคริปต์เปลี่ยนเส้นทางออกพื้นฐานหรือไม่

4
Windows: การเปลี่ยนเส้นทางบรรทัดคำสั่งไปยังไฟล์ข้อความขณะเดียวกันก็เห็นผลลัพธ์
ฉันกำลังเขียนโปรแกรม C ใน Windows สาย printf ของฉันพิมพ์ไปที่บรรทัดคำสั่งและฉันรู้ว่าฉันสามารถเปลี่ยนเส้นทางผลลัพธ์ทั้งหมดนี้ไปยังไฟล์ข้อความโดยใช้: myProgram.exe > mylog.txt อย่างไรก็ตามฉันต้องการเห็นผลลัพธ์ที่จะถูกพิมพ์ไปยังคอนโซลรวมทั้งบันทึกทั้งหมดในไฟล์ข้อความ มีวิธีทำเช่นนี้หรือไม่? ฉันคิดว่าใช้หางเพื่อตรวจสอบล็อกไฟล์

3
ท่อ gunzip และ mysql เพื่อ gunzip การถ่ายโอนข้อมูลและนำเข้ามัน
ฉันมีไฟล์ถ่ายโอน. gz sql (ตัวอย่าง: foo.sql.gz) ที่ฉันต้องการนำเข้าในฐานข้อมูลของฉันด้วยคำสั่ง mysql แบบคลาสสิก gunzip -c foo.sql.gz > foo.sql mysql -uroot -ppassword foo < foo.sql foo เป็นฐานข้อมูล ฉันจะไพพ์คำสั่งทั้งสองนี้ในคำสั่งเดียวได้อย่างไร พยายาม gunzip -c foo.sql.gz | mysql -uroot -ppassword foo แต่ดูเหมือนจะไม่ทำงาน ฉันเข้าใจgzip: stdout: Broken pipe
27 mysql  pipe  dump  stdout  gunzip 

2
วิธี tar / untar เอาท์พุทได้ทันที
เป็นวิธีสำนวนที่ต้องทำดังต่อไปนี้ tar เพื่อ stdout อ่านเอาต์พุต tar นี้จาก stdout และแตกไปยังโฟลเดอร์อื่น ทางออกของฉันคือ tar --to-stdout .. | tar -C somefolder -xvf - แต่อาจจะมีวิธีสำนวนมากขึ้นที่จะทำ
27 bash  tar  stdout 


4
เหตุใดผลลัพธ์ของบางโปรแกรมของ Linux จึงไม่ใช่ทั้ง STDOUT และ STDERR
เหตุใดผลลัพธ์ของบางโปรแกรมของ Linux จึงไม่ใช่ทั้ง STDOUT และ STDERR ที่จริงแล้วฉันต้องการทราบวิธีการจับเอาท์พุทของโปรแกรมทั้งหมดอย่างน่าเชื่อถือไม่ว่าจะใช้ 'สตรีม' ปัญหาที่ฉันมีคือบางโปรแกรมดูเหมือนจะไม่ยอมให้มีการบันทึกผลลัพธ์ ตัวอย่างคือคำสั่ง 'เวลา': time sleep 1 2>&1 > /dev/null real 0m1.003s user 0m0.000s sys 0m0.000s หรือ time sleep 1 &> /dev/null real 0m1.003s user 0m0.000s sys 0m0.000s เหตุใดฉันจึงเห็นเอาต์พุตทั้งสองครั้ง ผมคาดว่ามันทุกคนที่จะได้รับการประปาเข้า/ dev / null สตรีมเอาต์พุตใดที่ใช้เวลาและฉันจะไพพ์ลงในไฟล์ได้อย่างไร วิธีหนึ่งในการแก้ไขปัญหาคือสร้างสคริปต์Bashตัวอย่างเช่นcombine.shบรรจุคำสั่งนี้: $@ 2>&1 จากนั้นสามารถบันทึกเอาต์พุตของ 'เวลา' ในวิธีที่ถูกต้อง: combine.sh time sleep …
21 linux  bash  gnu  stdout  stderr 

1
คัดลอกเทอร์มินัลเอาต์พุตไปยังคลิปบอร์ด Mac หรือไม่
ฉันต้องการคัดลอกเทอร์มินัล stdout โดยตรงไปยังคลิปบอร์ดบน Mac ฉันจะทำสิ่งนี้ได้อย่างไร ตัวอย่าง: echo sometext | copy_to_clipboard หรือ echo sometext > /private/clipboard.txt

1
ทีสำหรับ Windows?
Windows มีteeสิ่งอำนวยความสะดวกขั้นพื้นฐานสำหรับการคัดลอกอินพุตมาตรฐานไปยังชุดไฟล์โดยพลการหรือไม่แล้วกลับไปที่เอาต์พุตมาตรฐานหรือไม่? ฉันมักจะดาวน์โหลดteeโปรแกรมทั่วไปแต่อยากรู้ว่ามีอะไรแบบนี้ใน PowerShell หรืออะไรแบบนั้น?

3
Windows จะเปลี่ยนเส้นทางพารามิเตอร์ไฟล์ไปยัง stdout ได้อย่างไร (Windows เทียบเท่า `/ dev / stdout`)
คอนโซล Windows: เครื่องมือ A สามารถเขียนข้อมูลไบนารีไปยังไฟล์ แต่ไม่มีตัวเลือกสำหรับบอกให้ใช้ stdout เครื่องมือ B สามารถอ่านข้อมูลไบนารีจาก stdin และประมวลผลข้อมูลในนั้น ฉันจะรับเอาต์พุตจาก A ไพพ์ถึง B โดยไม่ต้องใช้ไฟล์ระดับกลางได้อย่างไร ในคำอื่น ๆ : เทียบเท่า Windows /dev/stdoutคืออะไร? --jeroen
13 windows  pipe  stdout  stdin 

3
สองโปรแกรมที่มี StdIn และ StdOut เชื่อมโยงกัน
สมมติว่าฉันมีสองโปรแกรมที่เรียกว่าและProgramA ProgramBฉันต้องการเรียกใช้ทั้งสองอย่างพร้อมกันในตัวแปลภาษา Windows cmd แต่ฉันต้องการStdOutของProgramAติดยาเสพติดกับStdInของProgramBและStdOutการProgramBติดยาเสพติดไปของStdInProgramA บางสิ่งเช่นนี้ ________________ ________________ | | | | | StdIn (== ← === ← == (StdOut | | โปรแกรม A | | โปรแกรม B | | | | | | StdOut) == → === → ==) StdIn | | ________________ | | ________________ | มีคำสั่งให้ทำเช่นนี้ - …

1
เอาท์พุทที่แตกต่างกันเมื่อเปลี่ยนเส้นทาง
$ mysql -e 'select a,b from tablefoo' databasename อัตราผลตอบแทน +---+---+ | a | b | +---+---+ | 1 | 0 | | 2 | 1 | +---+---+ แต่ทว่า $ mysql -e 'select a,b from tablefoo' databasename > file ให้ไฟล์fileที่มี a b 1 0 2 1 (โดยที่แท็บอยู่ระหว่างอักขระตัวอักษรและตัวเลขในแต่ละบรรทัด) ฉันคิดว่าการเปลี่ยนเส้นทางไม่ควรเปลี่ยนผลลัพธ์ ทำไมฉันถึงได้ผลลัพธ์ที่แตกต่างกันสองอย่าง แก้ไข: คำตอบของWilliam …

4
ฉันจะหยุด cat output ในทันทีได้อย่างไรแม้จะมีเอาต์พุตขนาดใหญ่
ฉันกำลังมองหาวิธีที่จะหยุดการส่งออกไปยัง STDOUT เมื่อฉันรู้ว่าคำสั่งผิด ตัวอย่างเช่นถ้าฉันตั้งใจแมวไฟล์ที่มีขนาดใหญ่มาก โดยปกติแล้วจะหยุดในที่สุดหากคุณกดctrl+cแต่มันใช้เวลานาน มีวิธีหยุดเอาต์พุตทันทีหรือไม่?

2
ดูที่เอาต์พุต `at` ก่อนที่มันจะเสร็จสมบูรณ์
สมมติว่าฉันรันสคริปต์ด้วยatบน Linux (ตัวอย่างด้านล่าง) ที่ฉันรู้จะใช้เวลาหลายชั่วโมงหรืออาจจะนานหลายวัน ฉันคุ้นเคยกับการatส่งอีเมลด้วยเอาต์พุตของคำสั่งเมื่อมันเสร็จสมบูรณ์ แต่ถ้าฉันต้องการที่จะดูที่ผลลัพธ์ปัจจุบันก่อนที่มันจะเสร็จสมบูรณ์? และสมมติว่าผมเคยทำงานอยู่แล้วสคริปต์และลืมที่จะเปลี่ยนเส้นทางออกโดยใช้tail, teeหรือวิธีการอื่น ๆ ที่คล้ายกันและไม่ต้องการที่จะหยุดสคริปต์ มีอะไรให้ทำอีกไหม? drew@anubis:~$ at now warning: commands will be executed using /bin/sh at> ./myscript.sh at> <EOT> job 3 at Sat Jan 7 09:31:00 2017
8 linux  stdout  at 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.