ฉันมีสคริปต์เชลล์แบบยาวที่มีเงื่อนไขจำนวนมากและฉันต้องการทราบว่ามีข้อผิดพลาดทางไวยากรณ์ในสคริปต์โดยไม่เรียกใช้หรือไม่
เนื่องจากเชลล์สคริปถูกตีความฉันคิดว่ามันเป็นไปไม่ได้ แต่มีวิธีรู้โดยใช้เล่ห์เหลี่ยมบางอย่าง
ฉันมีสคริปต์เชลล์แบบยาวที่มีเงื่อนไขจำนวนมากและฉันต้องการทราบว่ามีข้อผิดพลาดทางไวยากรณ์ในสคริปต์โดยไม่เรียกใช้หรือไม่
เนื่องจากเชลล์สคริปถูกตีความฉันคิดว่ามันเป็นไปไม่ได้ แต่มีวิธีรู้โดยใช้เล่ห์เหลี่ยมบางอย่าง
คำตอบ:
bash -n scriptname
แม้ว่าสิ่งนี้จะตรวจสอบไวยากรณ์ไม่ใช่ความพร้อมใช้งานของคำสั่ง (จะไม่เตือนถ้าสคริปต์ใช้คำสั่งที่ยังไม่ได้ติดตั้ง)
ฉันพบเครื่องมือออนไลน์เพื่อตรวจสอบไวยากรณ์ของสคริปต์ นอกเหนือจากการตรวจสอบสคริปต์แล้วยังแนะนำการแก้ไขที่เป็นไปได้เพื่อหลีกเลี่ยงข้อผิดพลาด
bash
ไวยากรณ์ inbuilt แล้วคุณสามารถใช้shellcheckเพื่อระบุปัญหาที่รุนแรงน้อยลงและการปฏิบัติที่ไม่ดี