ทราบว่าเชลล์สคริปต์มีข้อผิดพลาดทางไวยากรณ์โดยไม่ต้องรันสคริปต์หรือไม่


21

ฉันมีสคริปต์เชลล์แบบยาวที่มีเงื่อนไขจำนวนมากและฉันต้องการทราบว่ามีข้อผิดพลาดทางไวยากรณ์ในสคริปต์โดยไม่เรียกใช้หรือไม่

เนื่องจากเชลล์สคริปถูกตีความฉันคิดว่ามันเป็นไปไม่ได้ แต่มีวิธีรู้โดยใช้เล่ห์เหลี่ยมบางอย่าง

คำตอบ:


29
bash -n scriptname

แม้ว่าสิ่งนี้จะตรวจสอบไวยากรณ์ไม่ใช่ความพร้อมใช้งานของคำสั่ง (จะไม่เตือนถ้าสคริปต์ใช้คำสั่งที่ยังไม่ได้ติดตั้ง)


3
นอกจากการตรวจสอบbashไวยากรณ์ inbuilt แล้วคุณสามารถใช้shellcheckเพื่อระบุปัญหาที่รุนแรงน้อยลงและการปฏิบัติที่ไม่ดี
Glutanimate

4

ฉันพบเครื่องมือออนไลน์เพื่อตรวจสอบไวยากรณ์ของสคริปต์ นอกเหนือจากการตรวจสอบสคริปต์แล้วยังแนะนำการแก้ไขที่เป็นไปได้เพื่อหลีกเลี่ยงข้อผิดพลาด

ตรวจสอบเชลล์สคริปต์ออนไลน์

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