พิจารณา
echo \ # this is a comment
foo
สิ่งนี้ให้:
$ sh foo.sh
# this is a comment
foo.sh: line 2: foo: command not found
หลังจากค้นหาบนเว็บฉันพบวิธีแก้ปัญหาโดย DigitalRossใน Stack Overflow ของเว็บไซต์น้อง ดังนั้นเราสามารถทำได้
echo `: this is a comment` \
foo
หรืออีกวิธีหนึ่ง
echo $(: this is a comment) \
foo
อย่างไรก็ตาม DigitalRoss ไม่ได้อธิบายว่าทำไมโซลูชันเหล่านี้จึงทำงาน ฉันขอขอบคุณคำอธิบาย เขาตอบด้วยความคิดเห็น:
เคยมี
gotoคำสั่งเปลือกซึ่งแยกเป็นป้ายระบุ:ที่นี่gotoจะหายไป แต่คุณยังคงสามารถใช้: whateverไวยากรณ์ ...:เป็นประเภทของการแสดงความคิดเห็นแจงตอนนี้
แต่ฉันต้องการรายละเอียดเพิ่มเติมและบริบทรวมถึงการอภิปรายเรื่องการพกพา
แน่นอนถ้าใครมีวิธีแก้ปัญหาอื่น ๆ ก็คงจะดีเช่นกัน
ดูคำถามก่อนหน้านี้วิธีแสดงความคิดเห็นคำสั่งหลายบรรทัดในเชลล์สคริปต์ได้อย่างไร .
นำข้อความกลับบ้านจากการสนทนาด้านล่าง `: this is a comment`เป็นเพียงแทนคำสั่ง การส่งออกของอะไรและที่ได้รับการวางในสถานที่ของ: this is a comment`: this is a comment`
ทางเลือกที่ดีกว่าคือ:
echo `# this is a comment` \
foo