כיצד להריץ מספר פקודות בלינוקס

How Run Multiple Commands Linux



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

אופרטור pipe (|) משמש להפעלת שתי פקודות קשורות או יותר בכל פעם. הקלט של הפקודה הבאה יהיה הפלט של הפקודה הקודמת. אז ההצלחה של כל פקודה תלויה בהצלחת הפקודה הקודמת ללא פקודה ראשונה. בפקודה הבאה, הפקודה הראשונה, ls יברר את רשימת הקבצים והתיקיות של המיקום הנוכחי וישלח את הפלט כקלט לפקודה השנייה, שירותים . הוא ידפיס את המספר הכולל של שורות, מילים ותווים בהתבסס על נתוני הקלט.







$ls | שירותים לְמַרְבֶּה הַמַזָל



מפעיל נקודה -פסיק (;)

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



$חתולmyfile.txt;mkdirnewdir;CDשולחן עבודה





אופרטור AND (&&) לוגי

הפקודות המופעלות על ידי Logical AND (&&) קשורות זו לזו כמו פקודת pipe (|). לכן, אם הפקודה הקודמת לא תתבצע בהצלחה אז הפקודות הבאות לא יפעלו. בדוגמה הבאה, שתי פקודות, mkdir ו- rmdir בשילוב אופרטורים &&. אז, הפקודה mkdir נכשלה בביצוע בהצלחה ואז הפקודה rmdir לא תתבצע. על פי הפלט של הפקודה ls, ספריית myDir כבר קיימת במיקום הנוכחי. אז הפקודה הראשונה לא תתבצע ובשביל הפקודה השנייה הזו לא תתבצע גם.

$ls
$mkdirmyDir&& rmdirטמפ '
$ls



אופרטור לוגי או (||)

אופרטור לוגי OR (||) הוא ההפך מאופרטור הלוגי AND (&&). הפקודה הבאה תתבצע אם הפקודה הקודמת לא תצא לפועל. שלוש פקודות חתול משולבות עם אופרטור OR (||) בדוגמה הבאה. כאשר תפעיל את הפקודה, קודם כל, הוא ינסה להציג את התוכן של קובץ cat.txt. אם אין קובץ כזה במיקום הנוכחי, הוא ינסה לבצע את הפקודה הבאה. על פי הפלט, קובץ bird.txt קיים במיקום הנוכחי והתוכן של קובץ זה מוצג.

$ cat cat.txt || כלב חתול.טקסט || ציפור חתול.טקסט

פקודות מרובות עם מספר אופרטורים

תוכל להשתמש במספר אופרטורים להפעלת מספר פקודות בו זמנית. בדוגמה הבאה, שלוש פקודות משולבות עם אופרטורים OR (||) ו- AND (&&). לאחר הפעלת הפקודה, קודם כל, היא תשנה את הספרייה הנוכחית ל- newdir אם הספרייה קיימת. אם פקודה זו נכשלת היא תיצור את הספרייה על ידי ביצוע הפקודה השנייה ותדפיס את ההודעה, ספרייה נוצרת. על פי הפלט, ספריית newdir לא קיימת במיקום הנוכחי. אז הודעת השגיאה מוצגת והספרייה נוצרת מאוחר יותר.

$CDnewdir|| mkdirnewdir&& זרק 'נוצר ספרייה'

אופרטור שילוב {}

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

$[ -dטמפ '] || { mkdirטמפ ';זרקספריית הטמפ 'נוצרת כעת .;} && ls

אופרטור קדימות ()

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

$(CDטמפ '&& ls) || (mkdirטמפ '&& ls)

סיכום

הדרכה זו הסבירה את האופרטורים המשמשים לרוב להפעלת מספר פקודות ב- Linux. אבל יש הרבה אופרטורים אחרים שקיימים ב- bash המשמשים להפעלת שתי פקודות או יותר יחד. אלה הם אמפרסנד (&), ניתוב מחדש (, >>), Logical NOT (!), שילוב ({}) וכו '.