แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

เผยแพร่แล้ว: 2022-05-30
แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

การเข้ารหัสใน Linux Bash Terminal ได้กลายเป็นแนวทางปฏิบัติที่โดดเด่นในภาคการเข้ารหัส วิศวกรซอฟต์แวร์และนักเรียนที่เรียนภาษาเขียนโค้ดพบข้อผิดพลาดต่างๆ หากคุณพบข้อผิดพลาดซ้ำๆ เช่น ข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '(' หรือข้อผิดพลาดทางไวยากรณ์ของ Bash ใกล้กับโทเค็นที่ไม่คาดคิด คุณสามารถลองใช้วิธีการที่อธิบายไว้ในบทความและกลายเป็นผู้เข้ารหัสที่เชี่ยวชาญ อ่านวิธีการที่อธิบายไว้ในบทความใน คำสั่งอธิบายและแก้ไขข้อผิดพลาดในบรรทัดคำสั่งในไฟล์ของคุณ

แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

สารบัญ

  • วิธีแก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด
  • วิธีที่ 1: แก้ไขข้อผิดพลาดในแต่ละบรรทัดคำสั่ง
  • ขั้นตอนที่ I: อ่านเนื้อหาของไฟล์
  • ขั้นตอนที่ II: ลบ Windows Line breaks
  • ขั้นตอนที่ III: ตั้งค่าการอนุญาตเป็นไฟล์ที่สร้างขึ้นใหม่
  • ขั้นตอนที่ IV: จัดรูปแบบโค้ดในไฟล์
  • วิธีที่ 2: เขียนโค้ดใหม่
  • วิธีที่ 3: ใช้คำสั่ง Dos2unix.exe

วิธีแก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

Linux Bash เป็นล่ามบรรทัดคำสั่งสำหรับระบบที่ใช้ Linux และเป็นการแทนที่ Bourne Shell หรือ sh ไฟล์ถูกตั้งชื่อโดยใช้รูปแบบ .sh ในสคริปต์ Linux Bash หากมีปัญหาการจัดรูปแบบในโค้ดในเชลล์สคริปต์ คุณอาจพบข้อผิดพลาดทางไวยากรณ์ หากข้อผิดพลาดอยู่ใกล้กับอักขระ ( เชลล์จะแจ้งให้คุณทราบถึงข้อผิดพลาดในบรรทัดและจะแสดงข้อผิดพลาดในบรรทัดที่เกี่ยวข้อง เนื่องจาก Linux Bash เป็นล่าม บรรทัดที่มีข้อผิดพลาดจะถูกส่งคืนถึงคุณใน Terminal และจะหยุดสแกนคำสั่งที่เหลือในสคริปต์ ดังนั้น คุณต้องแก้ไขข้อผิดพลาดในบรรทัดคำสั่งเฉพาะและดำเนินการต่อไปเพื่อแก้ไขข้อผิดพลาดโทเค็นที่ไม่คาดคิดในเชลล์สคริปต์ สาเหตุของไวยากรณ์ ข้อผิดพลาดใกล้กับโทเค็นที่ไม่คาดคิดใน Linux Bash มีการระบุไว้ด้านล่างในส่วนนี้ดังนี้:

  • การ เข้ารหัสด้วย Escape Sequences- หากคุณได้เขียนโค้ดใน Bash scripting เอสเควนซีเควนซ์หรือเครื่องหมายคำพูดในสคริปต์อาจทำให้เกิดข้อผิดพลาดได้ ลำดับหลีกและเครื่องหมายคำพูดต้องเขียนในรูปแบบที่ถูกต้องเพื่อแก้ไขข้อผิดพลาด
  • ไวยากรณ์ไม่ถูกต้องในไฟล์การเข้ารหัส - ไวยากรณ์ในโค้ดอาจทำให้เกิดข้อผิดพลาดทางไวยากรณ์หากคำสั่งเขียนด้วยไวยากรณ์ที่ไม่ถูกต้อง เช่น การเปลี่ยนลำดับของลูป
  • การ ใช้คำสั่งไม่ถูกต้อง - หากคุณใช้คำสั่งไม่ถูกต้อง เช่น กำหนดค่าไม่ถูกต้อง คุณอาจมีข้อผิดพลาดทางไวยากรณ์
  • OS ที่เข้ากันไม่ได้ในระบบ- หากเชลล์สำหรับสคริปต์การเข้ารหัสเข้ากันไม่ได้ระหว่างระบบ Unix และ DOS คุณอาจมีข้อผิดพลาดที่ไม่คาดคิด
  • ปัญหาในสคริปต์เชลล์ทุบตี - ปัญหาที่ทำงานในสคริปต์เชลล์ทุบตีในไฟล์ที่คัดลอกมาจากระบบอื่นอาจทำให้เกิดข้อผิดพลาดโทเค็นที่ไม่คาดคิด

พิจารณาไฟล์ชื่อ example.sh ที่สร้างขึ้นในสคริปต์ Linux Bash ด้วยบรรทัดคำสั่งต่อไปนี้เพื่อจุดประสงค์ในการอธิบาย ไฟล์ตัวอย่างมีความเป็นไปได้สำหรับข้อผิดพลาดทางไวยากรณ์และรวมถึงคำสั่งที่เป็นไปได้ทั้งหมดที่สามารถใช้ได้ในเชลล์สคริปต์

 str= 'บรรทัดคำสั่งแรกของ '(ไฟล์ตัวอย่าง)' ในสคริปต์'
str= [(1,2),(3,4)]
ถ้า[ $day == “mon” ] แล้ว
ก้อง “จันทร์”
อื่น
echo "ไม่มีจันทร์"
fi
สำหรับตัวแปรใน {0..2}; แล้ว
ทำ echo command1; คำสั่งเสียงสะท้อน2; คำสั่งเสียงสะท้อน3; คำสั่งสะท้อน4; เสร็จแล้ว
ในขณะที่จริง; ทำถ้า [ $ วัน == “จันทร์” ]; แล้วก้อง “จันทร์”; อื่นสะท้อน "ไม่ใช่จันทร์"; เสร็จแล้ว; fi 

ตัวอย่างไฟล์พร้อมบรรทัดคำสั่งใน linux bash

วิธีที่ 1: แก้ไขข้อผิดพลาดในแต่ละบรรทัดคำสั่ง

วิธีแรกในการแก้ไขข้อผิดพลาดคือการแก้ไขข้อผิดพลาดทางไวยากรณ์ด้วยตนเองในแต่ละบรรทัดคำสั่งในสคริปต์ ขั้นตอนในการแก้ไขข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิดในบรรทัดคำสั่งจะกล่าวถึงในส่วนนี้ กระบวนการแก้ไขข้อผิดพลาดโทเค็นที่ไม่คาดคิดในเทอร์มินัลอธิบายไว้ด้านล่าง เรียกใช้ไฟล์ใน Terminal โดยพิมพ์คำสั่ง ./example.sh แล้วกด ปุ่ม Enter

คำสั่งเปิดไฟล์ example.sh แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

2. สังเกต บรรทัด ที่มีข้อผิดพลาดโทเค็นที่ไม่คาดคิดในบรรทัดคำสั่งในผลลัพธ์ด้านล่าง

3. แก้ไขข้อผิดพลาด ในแต่ละบรรทัดโดยทำตามวิธีที่อธิบายด้านล่างทีละรายการและ บันทึก ไฟล์

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

อ่านเพิ่มเติม: วิธีการติดตั้ง Linux Bash Shell บน Windows 10

ขั้นตอนที่ I: อ่านเนื้อหาของไฟล์

ขั้นตอนแรกในการแก้ไขข้อผิดพลาดทางไวยากรณ์ในบรรทัดคำสั่งคือการอ่านไฟล์ในเทอร์มินัล หากมีปัญหากับไฟล์ คุณอาจไม่สามารถดูไฟล์ได้ แนวทางปฏิบัติในการดูไฟล์เป็นประจำคือการรันไฟล์โดยใช้คำสั่ง ./example.sh แต่คุณไม่สามารถแก้ไขเนื้อหาในไฟล์ได้ ตัวเลือกในการดูเนื้อหาของไฟล์และแก้ไขบรรทัดคำสั่งเพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '(' มีการกล่าวถึงด้านล่าง

ตัวเลือกที่ 1: ผ่านคำสั่ง CAT

ตัวเลือกแรกคือใช้คำสั่ง cat เพื่อดูไฟล์ในเชลล์สคริปต์ อ่านเนื้อหาของไฟล์ที่มีข้อผิดพลาดโทเค็นที่ไม่คาดคิดโดยใช้คำสั่ง cat โดยพิมพ์คำสั่ง cat –v example.sh ในเทอร์มินัล

หมายเหตุ 1: example.sh ใช้เพื่อจุดประสงค์ในการอธิบาย และคุณต้องพิมพ์ชื่อไฟล์ที่มีข้อผิดพลาดโทเค็นที่ไม่คาดคิด

หมายเหตุ 2: คำสั่ง cat –v ใช้เพื่อแสดงอักขระที่มองไม่เห็นทั้งหมดซึ่งมีแนวโน้มที่จะแสดงถึงการขึ้นบรรทัดใหม่หรือช่องว่างที่ไม่มีการแบ่ง

ไฟล์ example.sh เปิดคำสั่ง cat ในเทอร์มินัล linux

ตัวเลือกที่ 2: ผ่านคำสั่ง VX

หากคุณไม่สามารถใช้คำสั่ง cat ได้ คุณสามารถลองใช้คำสั่ง vx เพื่อดูและแก้ไขคำสั่งในไฟล์โดยใช้ขั้นตอนด้านล่าง พิมพ์คำสั่ง sh –vx ./example.sh ใน Terminal เพื่อเปิดไฟล์

คำสั่ง sh vx example.sh แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

ตัวเลือก 3: ผ่าน od –a Command

3. หากมีอักขระที่มองไม่เห็นสองสามตัวในบรรทัดคำสั่ง คุณสามารถใช้คำสั่ง od –a เพื่อดูไฟล์ได้ หากเนื้อหาของไฟล์ไม่ปรากฏในไฟล์โค้ด คุณสามารถลองอ่านไฟล์โดยใช้คำสั่ง od –a example.sh เพื่อแก้ไขโค้ด

od คำสั่ง example.sh ใน linux terminal

ขั้นตอนที่ II: ลบ Windows Line breaks

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

ป้อนคำสั่งต่อไปนี้ใน Terminal เพื่อบันทึกเนื้อหาในไฟล์ไปยังไฟล์อื่นชื่อ correctedexample.sh เพื่อลบตัวแบ่งบรรทัด Windows ในสคริปต์

 tr –d '\r' <example.sh> แก้ไขตัวอย่าง.sh 

คำสั่งคอนโซลเพื่อลบตัวแบ่งบรรทัดของ windows แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

ขั้นตอนที่ III: ตั้งค่าการอนุญาตเป็นไฟล์ที่สร้างขึ้นใหม่

คุณต้องตั้งค่าการอนุญาตสำหรับไฟล์ที่สร้างขึ้นใหม่เพื่อแก้ไขไฟล์เพื่อให้สามารถดำเนินการไฟล์ในเชลล์ได้ พิมพ์คำสั่งเป็น chmod 755 correctedexample.sh ใน Terminal เพื่อให้สิทธิ์กับไฟล์และเรียกใช้ไฟล์ ขณะนี้คุณสามารถดูไฟล์ที่แก้ไขและแก้ไขปัญหาการจัดรูปแบบและแก้ไขข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็น '(' ที่ไม่คาดคิดในไฟล์

chmod 755 คำสั่ง Correctedexample.sh เพื่อตั้งค่าการอนุญาตในเทอร์มินัล linux

ขั้นตอนที่ IV: จัดรูปแบบโค้ดในไฟล์

ขั้นตอนที่สองคือการจัดรูปแบบบรรทัดโค้ดทีละรายการและแก้ไขบรรทัดคำสั่งในไฟล์ด้วยตนเอง ตัวเลือกในการจัดรูปแบบไฟล์เพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '(' มีการกล่าวถึงด้านล่างในส่วนนี้

ตัวเลือกที่ 1: แทนที่อัญประกาศเดี่ยวด้วยอัญประกาศคู่

หากคุณกำลังใช้เครื่องหมายคำพูดเดี่ยวในบรรทัดคำสั่ง คุณต้องแก้ไขคำสั่งโดยแทนที่เครื่องหมายคำพูดเดี่ยวด้วยเครื่องหมายคำพูดคู่เพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ ในไฟล์ example.sh ให้ลบบรรทัดโค้ดที่มี ' และ ' หรือ เครื่องหมายคำพูดเดี่ยว ในคำสั่ง และแทนที่เครื่องหมายคำพูดเดี่ยวด้วยเครื่องหมายคำ พูดคู่ หรือ " และ '' ในไฟล์ตัวอย่าง คุณต้องเปลี่ยนรหัสเป็น str= “บรรทัดคำสั่งแรกของ “\(example file)\” ในสคริปต์”

หมายเหตุ: เครื่องหมายคำพูดคู่จำเป็นสำหรับคำสั่งประเภทพารามิเตอร์ เช่น str= "[(1,2),(3,4)]"

แทนที่อัญประกาศเดี่ยวด้วยอัญประกาศคู่ใน example.sh bash file

อ่านเพิ่มเติม: 20 Linux Distros ที่เบาที่สุดแห่งปี 2022

ตัวเลือกที่ 2: เพิ่ม $ ให้กับ String Lines

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

 str= $ 'บรรทัดคำสั่งแรกของ '\(ไฟล์ตัวอย่าง)\' ในสคริปต์'

หมายเหตุ: หากคุณใช้ $ ในค่าสตริง คุณสามารถข้ามลำดับหลีกแบ็กสแลชได้ เนื่องจากบรรทัดคำสั่งจะถูกถอดรหัสโดยมาตรฐาน ANSI C กล่าวอีกนัยหนึ่ง โดยใช้ $ สำหรับค่าสตริง คุณสามารถหลีกเลี่ยงการใช้เครื่องหมายอัญประกาศคู่แทนอัญประกาศเดี่ยวในบรรทัดคำสั่งได้

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

ตัวเลือก 3: แปลงแท็บเป็น Spaces

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

 ทำ echo command1; คำสั่งเสียงสะท้อน2; คำสั่งเสียงสะท้อน3; คำสั่งสะท้อน4; เสร็จแล้ว 

แท็บที่ใช้ในคำสั่ง do echo ใน example.sh bash file

คำสั่งดังกล่าวควรเขียนใหม่ตามที่แสดงด้านล่างเพื่อแก้ไขข้อผิดพลาด

 ทำ echo command1; คำสั่งเสียงสะท้อน2; คำสั่งเสียงสะท้อน3; คำสั่งสะท้อน4; เสร็จแล้ว

ตัวเลือกที่ 4: ใช้อักขระ Escape

หากคุณกำลังใช้อักขระ bash สิ่งสำคัญคือต้องใช้อักขระหลีกร่วมกับอักขระ bash เพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ วงเล็บ หรือ () เป็นอักขระพิเศษทุบตีในไฟล์ ดังนั้น คุณจะต้องใช้อักขระหลีกหรือ แบ็ก สแลชในบรรทัดคำสั่งเพื่อหลีกหนีจากอักขระปกติเพื่อดำเนินการคำสั่ง str= 'บรรทัดคำสั่งแรกของ \'(ไฟล์ตัวอย่าง)\' ในสคริปต์' จะไม่แสดงข้อผิดพลาดใน Terminal เนื่องจากมีการใช้อักขระหลีก

อ่านเพิ่มเติม: วิธีเข้าร่วมกับเราบน Linux

ตัวเลือกที่ 5: ใช้ช่องว่างระหว่างตัวอักษร

เชลล์สคริปต์รู้จักคำสั่งและคำสั่งในสคริปต์ด้วยค่าดีฟอลต์ คุณต้องแน่ใจว่ามีการใช้ช่องว่างระหว่างอักขระอย่างเหมาะสม เพื่อให้เชลล์สามารถระบุคำสั่งที่ให้ไว้ในสคริปต์ได้ ช่องว่างเป็นอักขระที่ใช้เพื่อแยกความแตกต่างระหว่างอักขระสองตัวในบรรทัดคำสั่ง ในโค้ด ไม่มีช่องว่างระหว่าง if และ [ ซึ่งให้ข้อผิดพลาดโทเค็นที่ไม่คาดคิดเนื่องจากคำสั่ง if[ ไม่ถูกระบุโดยเชลล์ หากรหัสถูกเปลี่ยนเป็น if [ $ day == “mon” ]; จากนั้น ข้อผิดพลาดสามารถแก้ไขได้ตามคำสั่งของเชลล์ หาก ถูกระบุโดยเชลล์

ตัวเลือก 6: ใช้ตัวคั่นคำสั่งสำหรับคำสั่ง

คำสั่งต่างๆ ในเชลล์สคริปต์จำเป็นต้องแยกออกเป็นคำสั่งสำหรับ Terminal เพื่อระบุแต่ละคำสั่ง คุณต้องใช้ตัวคั่นคำสั่งเพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ใน Linux Bash คำสั่งในคำสั่งต้องคั่นด้วยตัวคั่นคำสั่ง เช่น อัฒภาคหรือ a ; หรือขึ้นบรรทัดใหม่โดยกดปุ่ม Enter ตัวอย่างเช่น คำสั่งในโค้ด ถ้า [ $ day == “mon” ] จะต้องเปลี่ยนราวกับ ว่า [ $ day == “mon” ]; แล้ว แก้ไขข้อผิดพลาด เนื่องจากเครื่องหมายอัฒภาคถูกใช้เป็นตัวคั่นคำสั่งระหว่างอักขระ [ และ then คุณจึงสามารถแก้ไขข้อผิดพลาดนี้ได้

แก้ไขคำสั่ง example.sh ในไฟล์ทุบตี แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

ตัวเลือก 7: ลบคำชี้แจงเพิ่มเติม

บางครั้ง คุณอาจเพิ่มข้อความสั่งเพิ่มเติมหรืออาจผสมรหัสในกรณีที่มีการวนซ้ำซ้อนกันหลายรายการ คุณต้องลบข้อความสั่งเพิ่มเติมในบรรทัดคำสั่งเพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '(' ใน Linux Bash ทุบตีลูป สำหรับ…เสร็จสิ้น หรือและโครงสร้างเชิงโครงสร้าง หาก… fi จำเป็นต้องอยู่ในรูปแบบที่ถูกต้อง ตัวอย่าง file มีไวยากรณ์ที่ไม่ถูกต้องใน for loop มีคำว่า then ซึ่งใช้ในคำสั่ง if การแก้ไขโค้ดตามโค้ดต่อไปนี้จะแก้ไขข้อผิดพลาด token ที่ไม่คาดคิด คำสั่ง นั้น เป็นคำสั่งเพิ่มเติมในโค้ดและลบคำศัพท์ จะแก้ไขข้อผิดพลาด

 สำหรับตัวแปรใน {0..2}; ทำ echo command1; คำสั่งเสียงสะท้อน2; คำสั่งเสียงสะท้อน3; คำสั่งสะท้อน4; เสร็จแล้ว 

แก้ไขคำสั่ง for ใน example.sh bash file

ตัวเลือกที่ 8: ตรวจสอบให้แน่ใจว่าลำดับการปิดงบถูกต้อง

หากคุณกำลังใช้คำสั่งโครงสร้างแบบซ้อนหรือแบบมีเงื่อนไขจำนวนมากในเชลล์สคริปต์ คุณต้องแน่ใจว่าลูปปิดตามลำดับที่เปิด คุณสามารถใช้ตัวคั่นบรรทัดใหม่เพื่อหลีกเลี่ยงความขัดแย้งกับลูป ลำดับการปิดลูปที่ซ้อนกันและข้อความสั่งแบบมีเงื่อนไขควรถูกต้องและต้องไม่เปลี่ยนแปลง ลูปในโค้ด ในขณะที่เป็นจริง ทำถ้า [ $ วัน == “จันทร์” ]; แล้วก้อง “จันทร์”; อื่นสะท้อน "ไม่ใช่จันทร์"; เสร็จแล้ว; fi ต้องปิดในลำดับที่ถูกต้อง การแก้ไขโค้ดที่แสดงด้านล่างสามารถแก้ไขข้อผิดพลาดของโทเค็นที่ไม่คาดคิดได้ เนื่องจากลำดับการปิดคำสั่งได้รับการแก้ไขแล้ว

 ในขณะที่จริง; ทำถ้า [ $ วัน == “จันทร์” ]; แล้วก้อง “จันทร์”; อื่นสะท้อน "ไม่ใช่จันทร์"; ไฟ; เสร็จแล้ว 

ทำในขณะที่คำสั่ง แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

อ่านเพิ่มเติม: ล่ามบรรทัดคำสั่งคืออะไร?

วิธีที่ 2: เขียนโค้ดใหม่

หากคุณได้คัดลอกโค้ดและวางลงในไฟล์ใหม่ใน Terminal คุณสามารถลองเขียนโค้ดใหม่ด้วยตนเองเพื่อแก้ไขข้อผิดพลาด ข้อผิดพลาดในโค้ดสามารถแก้ไขได้หากคุณเขียนโค้ดโดยไม่มีข้อผิดพลาดรูปแบบใดๆ ในเชลล์สคริปต์ เนื่องจากอักขระที่ซ่อนอยู่และปัญหาการจัดรูปแบบในโปรแกรมแก้ไขข้อความ เช่น Microsoft Word คุณอาจเคยใช้ในการคัดลอกและวางโค้ดอาจทำให้เกิดข้อผิดพลาด

วิธีที่ 3: ใช้คำสั่ง Dos2unix.exe

หากคุณกำลังใช้ระบบปฏิบัติการ Unix คุณสามารถเขียนโค้ดโดยใช้อักขระป้อนบรรทัดเป็น \n เพื่อย้ายไปยังบรรทัดถัดไปในไฟล์ อย่างไรก็ตาม หากคุณใช้ระบบปฏิบัติการ Windows คุณต้องย้ายไปยังบรรทัดถัดไปในโค้ดโดยใช้การขึ้นบรรทัดใหม่และการป้อนบรรทัด หรือ \r\n ในไฟล์ หากคุณรันโค้ดที่เขียนในระบบปฏิบัติการ Windows ใน Cygwin คุณอาจได้รับข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '('

ในการแก้ไขข้อผิดพลาด คุณต้องล้างอักขระขึ้นบรรทัดใหม่โดยใช้เครื่องมือบรรทัดคำสั่ง DOS เป็น Unix เป็นเครื่องมือแปลงรูปแบบไฟล์ข้อความ พิมพ์คำสั่งต่อไปนี้เป็น dos2unix.exe example.sh ใน Terminal และคุณสามารถแปลงไฟล์เป็นรูปแบบ Unix

คำสั่ง dos2unix.exe example.sh แก้ไขข้อผิดพลาดไวยากรณ์ Bash ใกล้ Token ที่ไม่คาดคิด

ที่แนะนำ:

  • วิธีสร้างบัญชีโทรเลขบน Android
  • แก้ไขข้อผิดพลาดรันไทม์ C++ บน Windows 10
  • วิธีการลบบัญชี Github อย่างถาวร
  • การ์ดกราฟิกที่ดีที่สุด 14 อันดับแรกสำหรับ Linux

บทความนี้ได้กล่าวถึงวิธีการพื้นฐานในการแก้ไข ข้อผิดพลาดทางไวยากรณ์ของ Bash ใกล้กับโทเค็นที่ไม่คาดคิด '(' ในสคริปต์ หากคุณใช้ Linux Bash คุณสามารถใช้วิธีการที่อธิบายไว้ในส่วนนี้เพื่อแก้ไขข้อผิดพลาดทางไวยากรณ์ของ Bash ใกล้กับโทเค็นที่ไม่คาดคิด ถ้าคุณ ได้อ่านบทความทั้งหมดแล้วและพบว่าเนื้อหามีประโยชน์ โปรดแจ้งให้เราทราบข้อเสนอแนะและข้อสงสัยของคุณในส่วนความคิดเห็น