ฉันต้องการทำให้ขั้นตอนการปรับใช้เป็นไปโดยอัตโนมัติ
มีเซิร์ฟเวอร์ซีดี มันทำงานบน Linux (ใน bash) โครงการได้รับการกำหนดค่าให้เรียกใช้สคริปต์ทุบตีบนเซิร์ฟเวอร์แอปจริงเพื่อดำเนินการปรับใช้ SSH ใช้เพื่อเชื่อมต่อจาก CD Runner ไปยังเซิร์ฟเวอร์จริง
การตั้งค่าทั้งหมดขึ้นอยู่กับสมมติฐานว่าการปรับใช้ที่ล้มเหลวนั้นส่งสัญญาณด้วยรหัสทางออกที่ไม่ใช่ศูนย์ที่เหมาะสม
ต้องการเพิ่มความปลอดภัยเป็นพิเศษ เพื่อให้ข้อผิดพลาดทางไวยากรณ์หยุด/ล้มเหลวในการปรับใช้ก่อนกำหนด อย่างไรก็ตาม Bash ตามค่าเริ่มต้นจะไม่ปฏิบัติตามหลักการของรหัสออกสำหรับข้อผิดพลาดทางไวยากรณ์ในสคริปต์ O_O
ขออภัย "/bin/sh -n ..." จะไม่ส่งคืนค่าที่ไม่ใช่ศูนย์เมื่อเกิดข้อผิดพลาดทางไวยากรณ์
เทคนิคที่สองพยายาม " $(/bin/sh -n ...) | wc -c | ... " ล้มเหลวเนื่องจากไม่พบไฟล์สคริปต์ ฉันงุนงงกับข้อผิดพลาดนั้น เป็นไฟล์เดียวกัน/คำสั่งเดียวกับเทคนิคแรก
รายละเอียดการตั้งค่า:
- นักวิ่งซีดีที่ใช้ Linux & bash
- เซิร์ฟเวอร์แอปที่ใช้ Windows & OpenSSH & bash
- เนื่องจากทั้งสองเป็นการติดตั้งแบบ bash ที่แตกต่างกัน การตรวจสอบจึงต้องเกิดขึ้นใน app server bash ดังนั้นผ่าน SSH
คำถาม:
ฉันพลาดตัวแปร option/flag/env ที่จะสั่งให้ Bash ใช้รหัสทางออกที่ไม่ใช่ศูนย์สำหรับข้อผิดพลาดทางไวยากรณ์หรือไม่
หรือ: เหตุใดการเรียกใช้ /bin/sh รอบการทำงานด้วย $() จึงล้มเหลว