המוקד של מדריך זה הוא לדון בקיומו של קובץ במערכת שלך באמצעות סקריפטים bash:
כיצד לבדוק את קיום הקבצים באמצעות סקריפטים bash:
1) על ידי הזנת שם הקובץ במסוף:
ראשית, עלינו ליצור קובץ script bash, השתמש בפקודה הבאה:
$לגעתtestfile.sh
שם הקובץ שיצרתי הוא testfile.sh, הסיומת .sh מציינת את קובץ ה- script של המעטפת:
פתח את testfile.sh בכל עורך טקסט. לאחר מכן כתוב את הסקריפט, שמור אותו על ידי לחיצה על שמור.
אחת הדרכים היא למצוא קובץ על ידי בקשת שם קובץ מהמשתמש במסוף.
להשתמש -ו כדי לבדוק את קיומו של הקובץ.
כתוב את התסריט שלהלן:
#!/bin/bashזרק 'הזן את שם הקובץ'
לקרואקובץ חדש 1
אם [ -ו '$ newfile1' ]
לאחר מכן
זרק 'הקובץ נמצא'
אַחֵר
זרק 'הקובץ לא נמצא'
לִהיוֹת
חזור למסוף והפעל את הקובץ להדפסת פלט:
./שם קובץ.שהודעת הודעת הרשאה תוצג במסוף.
הפוך אותו להפעלה על ידי ביצוע הפקודה המוזכרת להלן:
$chmod+ x testfile.sh
הזן את שם הקובץ והוא ידפיס את הפלט:
2) על ידי הזנת שם הקובץ בעת כתיבת התסריט:
דרך נוספת למצוא קובץ על ידי מתן שם הקובץ בעת כתיבת התסריט. יש לנו שלוש דרכים לבדוק את זמינות הקובץ. הראשון משתמש בפקודת הבדיקה, השני משתמש אם אם עם ביטוי בסוגריים מרובעים, והשלישי הוא גם עם סוגריים מרובעים אם אך כפופים להלן:
- מבחן EXPRESSION.
- אם [EXPRESSION]
- אם [[EXPRESSION]]
בואו נבין את זה עם דוגמאות:
1) מבחן [ביטוי]
העתק את הסקריפט הנתון והדבק אותו בעורך, שמור אותו:
שם קובץ= קובץ 1
אם מִבְחָן -ו '$ קובץ';
לאחר מכן
זרק 'קובץ $נמצא.'
אַחֵר
זרק 'קובץ $לא נמצא '
לִהיוֹת
תְפוּקָה:
מכיוון שאין קובץ כזה בספרייה שלי, לכן הקוד מציג את הודעת הקובץ לא נמצא.
2) אם [ביטוי]
העתק את הסקריפט הבא כדי לבדוק אם הקובץ קיים או לא:
#!/bin/bashשם קובץ= myfile.txt
אם [ -ו '$ קובץ' ];
לאחר מכן
זרק '$ קובץנמצא.'
אַחֵר
זרק 'שם הקובץ לא נמצא'
לִהיוֹת
תְפוּקָה:
3) אם [[ביטוי]]
העתק את הסקריפט למטה והדבק אותו במסוף:
#!/bin/bashשם קובץ= קובץ ניסוי
אם [[ -ו '$ קובץ' ]];
לאחר מכן
זרק '$ קובץנמצא.'
אַחֵר
זרק '$ קובץלא נמצא '
לִהיוֹת
תְפוּקָה:
כדי לבדוק את הספרייה:
3) על ידי הזנת שם הספרייה בעת כתיבת סקריפט
להשתמש ב -d flag כדי לבדוק את קיומה של ספרייה.
בסקריפט המוזכר להלן, dir11 הוא המשתנה שבו אתה מאחסן את הקובץ שאתה מוצא; בדוגמה זו, אני רוצה לבדוק את שם הספרייה testDir קיים או לא.
#!/bin/bashdir11= testDir
אם [ -d '$ dir11' ]
לאחר מכן
זרק 'מדריך מצא'
אַחֵר
זרק 'מדריך לא נמצא'
לִהיוֹת
תְפוּקָה:
2) על ידי הזנת שם הקובץ במסוף:
כאשר אתה מפעיל את הפקודה במסוף כדי לבדוק אם המדריך קיים או לא, עליך להזין את שם הספרייה שאתה מחפש:
זרק 'הקלד את שם הספרייה שלך.'
לקרואDir1
אם [ -d 'Dir1' ]
לאחר מכן
זרק 'נמצאה ספרייה'
אַחֵר
זרק 'ספרייה לא נמצאה'
לִהיוֹת
תְפוּקָה:
בדיקת הקובץ מבלי להשתמש במשפט if:
ניתן לבצע את פקודת הבדיקה ללא הצהרת if. הוא יציג פלט רק אם הקובץ קיים; אחרת, לא יהיה פלט:
כתוב תסריט:
- מִבְחָן -וmyfile.txt&& זרק 'קובץ נמצא'
- [ -וmyfile.txt] && זרק 'קובץ $נמצא.'
- [[ -וmyfile.txt]] && זרק 'קובץ $נמצא.'
תְפוּקָה:
בדיקת הספרייה מבלי להשתמש במשפט if:
השתמש בהצהרות המפורטות להלן כדי לבדוק אם קיימת מדריך קיים או לא:
- [[ -dtestDir]] && זרק 'מדריך קיים'
- 2) [ -dtestDir] && זרק 'מדריך קיים'
תְפוּקָה:
בדיקת מספר קבצים/ספריות:
1) בדיקת קבצים מרובים עם הצהרות if:
השתמש בדגל -a כדי לבדוק את קיומם של קבצים שונים במקום להשתמש בהצהרות מקוננות אם/אחרת:
אם [ -וnew_file.txt-ל -וnewfile.txt];לאחר מכן
זרק 'שני הקבצים קיימים.'
לִהיוֹת
דרך נוספת היא:
#!/bin/bashאם [[ -וnew_file.txt&& -וnewfile.txt]];לאחר מכן
זרק 'שני הקבצים קיימים.'
לִהיוֹת
תְפוּקָה:
2) בדיקת קבצים מרובים מבלי להשתמש במשפט if:
השתמש בהצהרה הבאה כדי לבדוק מספר קבצים בו זמנית 1 בלי להשתמש אם:
- [[ -וnew_file.txt&& -וnewfile.txt]] && זרקשני הקבצים יוצאים.
- [[ -וnew_file.txt&& -וnewfile.txt]] && זרקשני הקבצים יוצאים.
תְפוּקָה:
סיכום:
מאמר זה הראה כיצד להשתמש ב- scripting bash כדי לבדוק קובץ או ספרייה. השתמשנו באפשרויות שונות כדי לבדוק את זמינות הקובץ. ראשית, אנו משתמשים בפקודת הבדיקה עם דגלים שונים. לאחר מכן למדנו את השימוש ב- if, מקונן אם-אחר, וללא הצהרות if לבדיקת הקובץ או הספרייה. בדקנו גם כיצד לבדוק מספר קבצים או ספריות.