קובץ אצווה

מתוך ויקיפדיה, האנציקלופדיה החופשית

קובץ אצווה (batch file) הוא קובץ המכיל שורות טקסט של פקודות למערכת ההפעלה, לשם הפעלתן של תוכניות שונות.

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

קובצי אצווה בחלונות ו-MS DOS[עריכת קוד מקור | עריכה]

במערכת ההפעלה MS-DOS, קובצי האצווה נשמרים עם סיומת BAT ובחלונות הנגזרות מחלונות NT ניתן להשתמש גם בסיומת CMD. בהפעלתם תחת חלונות נפתח חלון DOS שמבצע את קובץ האצווה.

תוכנית לדוגמה[עריכת קוד מקור | עריכה]

תוכנית המדפיסה את המחרוזת "Hello World!‎" לפלט הסטנדרטי:

@echo off
echo Hello World!
pause

הסבר: הפקודה echo off מסמנת שהפקודות לא יוצגו, וסימן @ שלידה מסמן שגם את השורה הזו המסך לא יציג. הפקודה echo מדפיסה למסך את הטקסט שאחריה. הפקודה pause משאירה את המסך פתוח עד שהמשתמש ילחץ על כפתור במקלדת, ללא הפקודה בסוף הדפסת המשפט התוכנית הייתה נסגרת.

דוגמה פשוטה לשימוש בחיבורי אינטרנט[עריכת קוד מקור | עריכה]

netstat -a

הסבר: קטע הקוד הנ"ל מציג פקודה הנקראת Netstat, המציגה את כל החיבורים הנוכחיים למחשב שבו היא מופעלת. התוסף -a אומר לפונקציה זו להדפיס על המסך רשימה של כל החיבורים למחשב בשמם הדינאמי (DNS). כדי להציג את כתובת פרוטוקול האינטרנט (IP) של כל חיבור, יש לשלוח ping לכתובת זו. ping היא מין מחרוזת מידע ה"שואלת" את השרת על מצבו, כשהשרת "עונה" בחזרה כתובת הIP שלו חוזרת איתו.

דוגמה לשליחת ping[עריכת קוד מקור | עריכה]

ping 127.0.0.1

הסבר: הפקודה ping שולחת את חבילת המידע לכתובת הנתונה לה (כתובת IP או DNS).

קובצי אצווה במערכת הפעלה Unix או Linux[עריכת קוד מקור | עריכה]

במערכות הפעלה דמויות יוניקס, ליבת המערכת מזהה סוג של תוכנית להרצה לפי ההתחלה שלה. כאשר קובץ להרצה מתחיל בתווים „#!״, הליבה מתייחסת אליו כקובץ אצווה שמורץ על ידי המפרש כתוב בהמשך השורה הראשונה בקובץ.

לדוגמה, קובץ שמתחיל בשורה #!/bin/sh יורץ על ידי /bin/sh, כלומר, על ידי Bourne Shell או מפרש תואם. דוגמה לתוכנית פשוטה שמסדר את כל השורות בקובץ לפי סדר אלפבית ושולח אותם להדפסה במדפסת ברירת מחדל:

#!/bin/sh
cat file.txt | sort | lp

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

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

#! /usr/bin/perl -w
use v5.10;
my @places = qw/world earth/;
map {say "Hello, $_!"} @places;

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

#!/usr/bin/env python
print("Hello!")

המפרש מקבל את שם קובץ הסקריפט כפרמטר ראשון. לדוגמה, הפלט של הסקריפט הבא:

#!/bin/ls -l
# Some other content

הוא מידע מהפקודה ls על קובץ הסקריפט עצמו.

קישורים חיצוניים[עריכת קוד מקור | עריכה]