כיצד לפתור שגיאת Bash Terminal: 'Bash: שגיאת תחביר ליד אסימון בלתי צפוי 'Newline'

Kyzd Lptwr Sgy T Bash Terminal Bash Sgy T Thbyr Lyd Symwn Blty Zpwy Newline



בעת עבודה עם סקריפט Bash, אתה יכול להיתקל בשגיאת 'שורה חדשה' אסימון בלתי צפוי שמשפיע על ביצוע הסקריפט שלך. הבנת שגיאה זו היא הצעד הראשון לפתור אותה. פוסט זה דן בכל מה שקשור לשגיאה זו. אנו נבין מה גורם לכך וכיצד עליך לפתור זאת כדי להימנע ממפגש חוזר. בואו נתחיל!

מה זה Bash: שגיאת תחביר ליד אסימון בלתי צפוי 'קו חדש'

בעת ביצוע סקריפט Bash, אתה עלול להיתקל בשגיאת האסימון הבלתי צפויה של 'שורה חדשה' מסיבות שונות. שגיאה זו מתרחשת כאשר Bash מזהה תווים בלתי צפויים בסקריפט או בקלט שלך.

אם אתה מתמודד עם שגיאה זו, שגיאת תחביר בסקריפט שלך גורמת לה. אנו נותנים מקרים שונים שבהם השגיאה יכולה להתרחש ונראה כיצד לפתור אותה כדי לתקן את השגיאה. תסתכל על הדוגמאות הבאות.







דוגמה 1: סוגריים של זווית ללא ציטוט

ציטוט כל סוגריים זווית שבהם אתה משתמש בקוד שלך בעת כתיבת סקריפט Bash. רק אז יקרא את זה כסוגר זווית. אחרת, זה מעלה את שגיאת ה'שורה החדשה' האסימון הבלתי צפוי.



בתמונה הבאה, ניסינו לבצע סקריפט Bash בטרמינל וקיבלנו את שגיאת התחביר באופן הבא:







הדבר הראשון שעליך לעשות כאשר נתקלים בשגיאה כזו הוא לפתוח את הסקריפט שלך באמצעות עורך טקסט. אנו משתמשים בעורך הננו למקרה זה.



כאשר אתה פותח את הסקריפט, חפש כל קוד שמכיל סוגריים של זווית ללא ציטוט. זו הסיבה העיקרית לשגיאה. בתמונה הקודמת, אנו יכולים לראות שלמשתנה str שלנו יש מחרוזת ללא ציטוט, וזו הסיבה לשגיאת התחביר. אתה יכול לתקן שגיאה זו על ידי ציטוט שלה כפי שמוצג בהבאה:

אם נצטט אותו כצפוי על ידי Bash ונפעיל מחדש את אותו סקריפט, נצליח להריץ את הסקריפט בהצלחה.

דוגמה 2: שימוש בסוגריים של הזווית בפרמטרים של שורת הפקודה Bash

כאשר יש לך סקריפט Bash שלוקח קלט מהמשתמש כדי להשתמש בו כארגומנטים בפרמטר בסקריפט, הוספת סוגריים זווית מבלי לצטט אותם מעלה את השגיאה האסימון הבלתי צפוי של 'שורה חדשה'.

אם ברצונך לכלול טיעון המכיל את סוגריים של הזווית, הקפד לצטט אותו. אם נפתח את הסקריפט של Bash, נוכל לבדוק את התחביר כדי לזהות את מקור השגיאה.

בקוד הסקריפט הקודם, אנו יכולים לראות שאנו מקבלים את הארגומנטים מקלט המשתמש. לפיכך, כאשר אנו מריצים את הסקריפט, עלינו להוסיף את הארגומנטים כפי שעשינו, מה שגורם לשגיאת התחביר להופיע. בקלט המשתמש, אנו שמים לב שהכנסנו סוגר זווית בארגומנט השני שגורם ל-Bash להעלות את שגיאת התחביר.

עם זאת, אם נצטט את סוגריית הזווית ונזין אותה שוב, נריץ בהצלחה את סקריפט Bash ללא שגיאות.

בפלט, לאחר ציטוט של סוגריים זווית, הצלחנו להדפיס אותם על הטרמינל לפי התסריט.

לכן, אם אתה מקבל את השגיאה 'Bash: תחביר ליד 'שורה חדשה' אסימון בלתי צפוי, התחל בבדיקת הקוד בסקריפט שלך כדי לקבוע היכן השגיאה. יתר על כן, בדוק אם יש לך פרמטרים בקוד שלך ואם השגיאה מתרחשת עקב שגיאה בארגומנט שאתה מזין בטרמינל שלך.

סיכום

אתה יכול להיתקל ב-'Bash: שגיאת תחביר בלתי צפויה 'שורה חדשה'' כשאתה עובד עם סקריפט Bash בגלל שתי סיבות עיקריות: ייתכן שלא ציטטת את סוגריים של הזווית. ובכל זאת, יכול להיות שיש לך טעות בטיעון שלך. פוסט זה פירט את שתי הסיבות הללו וכיצד לתקן את השגיאה.