כיצד לטפל בשמות קבצים מעבירים עם רווחים ב- Bash

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

מדוע לא ניתן לזהות שם קובץ עם רווחים על ידי בש?

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

שם קובץ חתול.טקסט

הערה : שם הקובץ שלך יכול להיות הכל למעט מאמר זה, אנו נשתמש ב"קובץ name.txt "כדוגמה.

הנה חתול 'פקוד תשקול קובץ ואת שם כמו שני טיעונים ולא טיעון יחיד. עם זאת, אם אתה משתמש בתו בריחה או במרכאות אז bash shell ישקול את זה כארגומנט יחיד, אשר יהיה "שם הקובץ.טקסט ".

שם קובץ עם רווחים בבש

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

שיטה 1: שימוש בהצעות מחיר בודדות וכפולות

  1. החזק את מקשי Ctrl + Alt ולחץ על T כדי לפתוח את הטרמינל .
  2. כעת שנה את הספרייה למיקום הקובץ.

    (ניתן גם לגרור ו ושחרר את הקובץ בתוך הטרמינל לאחר הפקודה " חתול ", אשר יכניסו אוטומטי ציטוטים על נתיב הקובץ / ספרייה)

    שולחן עבודה

    הערה : ניתן לשנות את שולחן העבודה למיקום שאליו אתה מנסה לגשת.

  3. הקלד את הפקודה הבאה כדי לקרוא קובץ טקסט עם רווחים בשם:
    חתול 'שם קובץ.טקסט'

    אוֹ

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

שיטה 2: שימוש בתו בריחת תגובה חריפה

  1. החזק את מקשי Ctrl + Alt ולחץ על T כדי לפתוח את הטרמינל .
  2. שנה את הספרייה למקום בו נמצא הקובץ באמצעות הפקודה הבאה.
    שולחן עבודה

    הערה : שים את שם המיקום שלך במקום שולחן העבודה.

  3. כעת הקלד את הפקודה והשתמש בתו בריחה בכל מקום שיש שם בשם:
    קובץ חתול \ name.txt

בונוס: שימוש בהצעות מחיר ובריחה

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