C Shell – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Yonidebot (שיחה | תרומות)
מ בוט החלפות: דוגמה; מסוים; קובצי;
שורה 2:
 
מעטפת הפקודה מאפשרת למשתמש לכתוב [[פקודה (מחשב)|פקודות]] ולבצע פעולות פשוטות ב[[מחשב]], כולל [[בקרת זרימה|בקרות זרימה]] ושימוש ב[[משתנה_(תכנות)|משתנים]]. הפקודות, כמו בכל שפת סקריפטים, עוברות [[הידור]] בזמן ריצה.<br />
ניתן לכתוב את הפקודות ב[[קובץ|קבצים]] הנקראים [[מפרש (תוכנה)|סקריפטים]], ולהשתמש בהם באופן דומה לשימוש ב[[קובץ הרצה|קבציקובצי הרצה]] רגילים, כולל העברת פרמטרים ותכונות נוספות (כגון שימוש ב[[צינור עיבוד נתונים|pipelines]] ו[[תו ג'וקר|תווי ג'וקר]]) הנתמכות על ידי כל המעטפות של סביבת יוניקס.
 
הC shell היא שיכתוב של מעטפת קודמת בשם bourne שנכתבה בשפת [[אסמבלי]], לעומת שפת C בה נכתבה C shell. בנוסף לשכתוב המעטפת, C Shell יציבה יותר ומכילה מספר פקודות נוספות ותכונות כמו כינויים (aliases) והיסטוריית פקודות.
שורה 16:
set var=x
כאשר במקום var ייכתב שם חוקי כלשהו, ובמקום X ניתן לכתוב כל רצף של תווים.
למעשה, בC shell כל משתנה הוא [[מחרוזת (תכנות)|מחרוזת]], כאשר ניתן להתייחס אליו כאל מספר בהתאם לצורך, ובמגבלות מסויימותמסוימות.
מרגע שהוגדר משתנה הוא מוכר במעטפת עד שמתרחש אחד מהבאים:
* מוגדר משתנה בשם זהה.
* מסתיימת הרצת הסביבה הנוכחית (למשל כאשר מסתיים סקריפט שבתחילתו מוגדר כי הוא יוצר סביבה חדשה).
* מתבצעת פקודת unset var, שזה תפקידה.
בניגוד לשפת C, על מנת להתייחס לתוכן של משתנה יש להקדים לשמו את התו $. לדוגמאלדוגמה var$.
 
השפה תומכת גם ב[[רשימה (מבנה נתונים)|רשימות]] פשוטות, שהן למעשה [[מערך (מבנה נתונים)|מערך]] של מחרוזות, ומאפשרת לגשת לאיבר ברשימה בצורה דומה לגישה אל איבר במערך. על מנת לבצע השמה של רשימה אל משתנה יש להקיף את הערכים הדרושים בסוגריים. ניתן לגשת למספר איברים ברשימה על ידי כתיבת טווח בתוך סוגריים מרובעים; לדוגמאלדוגמה, אם הגדרנו (set a = (w x y z, אזי
<div style="direction: ltr;">
* $a[1-3] = w x y
שורה 106:
 
== קבוצות ==
בביצוע פקודה בה מופיע ביטוי מהצורה {a,b,c} הביטוי יחושב כאילו נכתב כל אחד מהפריטים שבו. לדוגמאלדוגמה:
{| class="wikitable"
|-