คำถามติดแท็ก exit-code

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

10
รับ ROBOCOPY เพื่อส่งคืนรหัสทางออก“ เหมาะสม” หรือไม่
เป็นไปได้หรือไม่ที่จะขอให้ ROBOCOPY ออกด้วยรหัสทางออกซึ่งบ่งชี้ความสำเร็จหรือความล้มเหลว? ฉันกำลังใช้ ROBOCOPY เป็นส่วนหนึ่งของการกำหนดค่าการสร้าง TeamCity ของฉันและต้องเพิ่มขั้นตอนเพียงแค่ปิดเสียงรหัสทางออกจาก ROBOCOPY ให้ดูโง่ไปหน่อย โดยทั่วไปฉันได้เพิ่มสิ่งนี้: EXIT /B 0 ไปยังสคริปต์ที่กำลังทำงานอยู่ อย่างไรก็ตามหลักสูตรนี้จะปกปิดปัญหาที่แท้จริงของ ROBOCOPY ที่จะกลับมา โดยทั่วไปฉันต้องการให้รหัสออกเป็น 0 สำหรับความสำเร็จและไม่เป็นศูนย์สำหรับ FAILURE แทนที่จะเป็นบิตมาสก์ที่ ROBOCOPY ส่งคืนในขณะนี้ หรือถ้าฉันไม่สามารถทำได้มีลำดับของคำสั่งแบทช์อย่างง่าย ๆ ที่จะแปล bit-mask ของ ROBOCOPY ให้เป็นค่าที่คล้ายกันหรือไม่?

2
ฉันสามารถทำให้ SSH ล้มเหลวได้หรือไม่เมื่อการส่งต่อพอร์ตล้มเหลว
หากฉันทำรีโมตพอร์ตไปข้างหน้า la -R 3690:localhost:3690เมื่อมีการเชื่อมโยงที่มีอยู่แล้วบนพอร์ตบนรีโมตโฮสต์ฉันจะได้รับคำเตือนนี้: Warning: remote port forwarding failed for listen port 3690 มีวิธีการที่จะล้มเหลว ssh (เช่นออกด้วยรหัสกลับไม่ใช่ศูนย์) แทนที่จะปล่อยเตือน?

2
วิธีทำให้ TaskScheduler ล้มเหลวเมื่องานส่งคืนผลลัพธ์ต่างจาก 0
ฉันมีงานสำรองที่ล้มเหลวโดยไม่มีผลลัพธ์เป็นศูนย์ แต่ Task Scheduler บอกว่ามันทำงานได้อย่างถูกต้อง มีวิธีใดที่จะบอกตัวกำหนดเวลางานว่างานล้มเหลวหรือไม่

4
การเข้าถึงรหัสออกนอก su -m $ USER -c“ <cmd>”
คำสั่งด้านล่างพิมพ์ "0" หรือ "1" ถูกต้องขึ้นอยู่กับความล้มเหลวหรือไม่เพราะฉันใส่ $? ภายในคำสั่ง "su" sudo su -m $USER -c "./shutdown.sh &amp;&gt; /dev/null; echo \$?" อย่างไรก็ตามถ้าฉันทำสิ่งนี้: sudo su -m $USER -c "$BASE/bin/shutdown.sh &amp;&gt; /dev/null"; echo $? มันจะพิมพ์ "0" เสมอเพราะ "su" จริงจะประสบความสำเร็จเสมอแม้ว่าส่วนคำสั่งจะล้มเหลว มีความคิดใดที่ฉันสามารถเรียกรหัสออกจาก subshell
8 linux  shell  su  exit-code 

1
ใช้เอาต์พุตของคำสั่งเป็นรหัสออก
สำหรับสคริปต์ Integration Integration ของฉันฉันต้องการตรวจสอบว่าสาขา git ไม่ได้ซิงค์กับสาขาหลัก ดังนั้นฉันใช้ git rev-list --left-right --count master...my-branch-name มันจะส่งคืน sth ชอบ 1 3 (3 มุ่งหน้าก่อนอาจารย์ 1 หลัง) เพิ่ม | cut -f1 จะให้ฉันหมายเลขแรกเท่านั้น (คอมมิชชันด้านหลังของมาสเตอร์) ตอนนี้ฉันต้องการออกจากสคริปต์โดยใช้ตัวเลขนั้นเพราะ 0 คอมมิชชันด้านหลังเป็นความสำเร็จส่วนอีกคนควรให้ข้อผิดพลาด ฉันจะทำสิ่งนั้นได้อย่างไร ฉันเหนื่อย exit 'git rev-list --left-right --count master...my-branch-name | cut -f1' แต่สิ่งนี้เพิ่มขึ้น / bin / bash: บรรทัด 66: exit: git …
6 bash  git  exit-code 

3
คุณจะใช้ PIPESTATUS, tee และ / bin / sh ร่วมกันได้อย่างไร
เมื่อฉันวิ่ง curl | tee test.txt; echo ${PIPESTATUS[0]} ฉันเห็นอย่างถูกต้อง curl: ลอง 'curl --help' หรือ 'curl - คู่มือ' สำหรับข้อมูลเพิ่มเติม 2 แต่เมื่อฉันพยายามเรียกใช้คำสั่งเดียวกันโดยใช้ '/ bin / sh': sh -c "curl | tee test.txt; echo \${PIPESTATUS[0]}" ฉันเข้าใจ curl: ลอง 'curl --help' หรือ 'curl - คู่มือ' สำหรับข้อมูลเพิ่มเติม sh: 1: การเปลี่ยนตัวไม่ดี เราจะแก้Bad substitutionปัญหาได้อย่างไร
6 linux  bash  pipe  exit-code 

1
พยายามติดตั้งโปรแกรมแก้ไขด่วนของ windows แต่รับรหัสการออกจากเชิงลบ
ฉันพยายามติดตั้งโปรแกรมแก้ไขด่วน windows-8-RT kb2771744 ฉันได้รับรหัสออกเชิงลบ: -2125124329 ฉันแปลงมันเป็น hex: 7FDBFFE9 ฉันมองไปรอบ ๆ ฉันไม่แน่ใจว่าจะทำอย่างไร

0
จะรับรหัสทางออกของกระบวนการย่อยได้อย่างไร
ดังนั้นฉันมีกระบวนการ B โดยทั่วไปแล้วกระบวนการ B จะถูกเรียกใช้และทำงานโดยสิ้นเชิงกับบริบทของกระบวนการ A แต่ด้วยเหตุผลบางอย่างกระบวนการ B หยุดทำงานอย่างถูกต้องเมื่อถูกเรียกโดย A แต่มันทำงานได้อย่างสมบูรณ์เมื่อเรียกโดยตรงจาก บรรทัดคำสั่ง. ฉันไม่สามารถเข้าถึงแหล่งที่มาสำหรับกระบวนการ A โชคไม่ดี - มีวิธีใดบ้างที่ฉันจะรับรหัสออกจากกระบวนการ B ในขณะที่กำลังเรียกใช้โดยกระบวนการ A ฉันใช้ windows 10 - มีบางอย่างในตระกูลเดียวกับ ProcMon หรือไม่?

2
Echo สำหรับรหัสสถานะ?
ฉันกำลังมองหาเครื่องมือที่ต้องการechoแต่สำหรับรหัสสถานะ $ sts 120 $ echo $? 120 ฉันรู้ว่าคุณสามารถใช้เชลล์ย่อยในสภาพแวดล้อมที่เหมือนทุบตี: $ (exit 120) $ echo $? 120 แต่มีวิธีทำอย่างอิสระจากเปลือกของคุณหรือไม่
-1 shell  echo  exit-code 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.