GoGPT Best VPN GoSearch

סמל OnWorks

rcplan9 - אונליין בענן

הפעל את rcplan9 בספק אירוח חינמי OnWorks דרך Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה rcplan9 שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.

תָכְנִית:

שֵׁם


rc, cd, eval, exec, exit, flag, rfork, shift, wait, whatis, ., ~ - שפת פקודות

תַקצִיר


rc [ -srdiIlxepvV ] [ -c הפקודה ] [ פילה [ גדול מ ... ]]

תיאור


Rc הוא הקליפה של Plan 9. הוא מבצע שורות פקודה שנקראות מטרמינל או קובץ, או, עם
מה היא -c דגל, מ של RC רשימת טיעונים.

פיקוד קווים
שורת פקודה היא רצף של פקודות, המופרדות באמצעות סימני אמפרסנד או נקודה-פסיק (& or ;),
מסתיים בשורה חדשה. הפקודות מבוצעות ברצף משמאל לימין. Rc
לא מחכה לפקודה ואחריה & לסיים את הביצוע לפני תחילת ה
הפקודה הבאה. בכל פעם שפקודה ואחריה & מבוצע, מזהה התהליך שלו הוא
שהוקצה ל rc משתנה $apidבכל פעם שפקודה לֹא אחריו & יוצא או נמצא
הסתיים, ה- rc משתנה $status מקבל את הודעת ההמתנה של התהליך (ראה לחכות(3)); זה יהיה
תהיה מחרוזת null אם הפקודה הצליחה.

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

סימן מספר (#) וכל תווים עוקבים עד (אך לא כולל) השורה החדשה הבאה
מתעלמים מהם, למעט במירכאות.

פָּשׁוּט פקודות
פקודה פשוטה היא רצף של ארגומנטים המשולבים בהפניות קלט/פלט. אם ה-
הטיעון הראשון הוא שמו של rc פונקציה או של אחת מהן של RC פקודות מובנות, זה
מבוצע על ידי rcאחרת, אם השם מתחיל בקו נטוי (/), זה חייב להיות שם הנתיב
של התוכנית לביצוע. שמות ללא קו נטוי ראשוני יחפשו ב-
רשימת שמות הספריות המאוחסנים ב מסלול $קובץ ההפעלה הראשון בשם הנתון
נמצא בספרייה ב מסלול $ היא התוכנית שיש להפעיל. כדי שניתן יהיה לבצע אותה, המשתמש
חייבת להיות בעלת הרשאת ביצוע (ראה stat(3)) והקובץ חייב להיות קובץ הרצה
קובץ בינארי עבור סוג המעבד של המכונה הנוכחית, או סקריפט מעטפת. סקריפטי מעטפת מתחילים ב-
שורה המכילה את שם הנתיב המלא של מעטפת (בדרך כלל /bin/rc), עם קידומת של

המילה הראשונה של פקודה פשוטה אינה יכולה להיות מילת מפתח אלא אם כן היא במירכאות או בכל דרך אחרת
מוסווה. מילות המפתח הן
עבור תוך כדי, אם לא, החלף fn ~ ! @

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

הסוג הפשוט ביותר של טיעון הוא המילה ללא ציטוט: רצף של תו אחד או יותר
שאף אחד מהם אינו ריק, טאב, שורה חדשה או כל אחד מהבאים:
#; & | ^ $ = ` ' { } ( ) < >
מילה ללא מרכאות המכילה תווים כלשהם * ? [ הוא דפוס להתאמה
כנגד שמות קבצים. התו * תואם לכל רצף תווים, ? תואם לכל
דמות אחת, ו [בכיתה] תואם לכל תו ב- בכיתהאם התו הראשון
of בכיתה is ~, הכיתה משלימה. ה בכיתה עשוי להכיל גם זוגות של תווים
מופרדים על ידי -, המייצג את כל הדמויות מבחינה מילונית בין השתיים. הדמות /
חייב להופיע במפורש בתבנית, וכך גם התו הראשון של שם הנתיב
רכיבים . ו ..תבנית מוחלפת ברשימת ארגומנטים, אחד עבור כל נתיב.
שם תואם, אלא שתבנית שתואמת ללא שמות לא מוחלפת ברשימה ריקה,
אלא עומד בפני עצמו. התאמת תבניות מתבצעת לאחר כל שאר הפעולות. לכן,
x=/ Tmp הד $x^/*.c
גפרורים / tmp /*.c, במקום להתאים /*.c ולאחר מכן הוספת קידומת / Tmp.

מילה במירכאות היא רצף של תווים המוקפים במירכאות בודדות ('ציטוט בודד
מיוצג במילה בציטוט על ידי זוג מרכאות ('').

כל אחד מהבאים הוא טיעון.
(טיעונים)
הערך של רצף ארגומנטים המוקפים בסוגריים הוא רשימה הכוללת
האיברים של כל אלמנט ברצף. לרשימות ארגומנטים אין פונקציות רקורסיביות
מבנה, למרות שהתחביר שלהם עשוי לרמוז על כך. הדברים הבאים הם לחלוטין
שווה ערך:
אקו שלום לכולם
((הד) (היי לכולם))
$טענה
$טענה(מנוי)
השמיים טענה לאחר $ הוא שם של משתנה שערכו מוחלף.
מספר רמות של עקיפה אפשריות, אך התועלת שלהן מוטלת בספק. משתנה
ערכים הם רשימות של מחרוזות. אם טענה הוא מספר n, הערך הוא ה- nth
אלמנט של $*אלא אם כן $* אין n אלמנטים, ובמקרה כזה הערך ריק.
If טענה ואחריו רשימה של כתבי תחתון בסוגריים, הערך
ה-substituted הוא רשימה המורכבת מהאלמנטים המבוקשים (מקור 1). ה-
יש להציב סוגריים אחרי שם המשתנה ללא רווחים. ניתן גם להוסיף כתב תחתי
הצורה m-n or m- כדי לציין רצף של אלמנטים. הקצאות למשתנים
מתוארים להלן.
$#טענה
הערך הוא מספר האלמנטים במשתנה בעל השם. משתנה לעולם לא
ערך שהוקצה לו מכיל אפס אלמנטים.
$"טענה
הערך הוא מחרוזת אחת המכילה את רכיבי המשתנה בעל השם
מופרדים על ידי רווחים. משתנה עם אפס אלמנטים מניב את המחרוזת הריקה.
`{הפקודה}
rc מבצעת את הפקודה וקורא את הפלט הסטנדרטי שלו, מפצל אותו לרשימה של
ארגומנטים, באמצעות תווים ב אם כמפרידים. אם אם לא נקבע אחרת,
הערך שלה הוא ' \t\n'.
<{הפקודה}
>{הפקודה}
השמיים הפקודה מבוצע באופן אסינכרוני עם הפלט הסטנדרטי או הקלט הסטנדרטי שלו
מחובר לצינור. ערך הארגומנט הוא שם הקובץ המתייחס אל
הקצה השני של הצינור. זה מאפשר בניית צינורות לא ליניאריים.
לדוגמה, הפקודה הבאה מפעילה שתי פקודות זקן ו חדש ושימושים CMP להשוות
התפוקות שלהם
cmp <{ישן} <{חדש}
טענה^טענה
השמיים ^ האופרטור משרשר את שני האופרנדים שלו. אם לשני האופרנדים יש את אותו הדבר
מספר רכיבים, הם משורשרים בזוגות. אם לא, אז אופרנד אחד
חייב להכיל רכיב אחד, והשני חייב להיות לא ריק, ושרשור הוא
חלוקתי.

חופשי קארטס
ברוב הנסיבות, rc יכניס את ^ אופרטור אוטומטית בין מילים שהן
לא מופרדים על ידי רווח לבן. בכל פעם שאחד מ $ ' ` אחרי מילה בציטוט או ללא ציטוט, או
מילה לא מרוכזת באה אחרי מילה מרוכזת ללא רווחים או טאבים ביניים, א ^ מוכנס
בין השניים. אם מילה ללא ציטוט מגיעה מיד אחרי מילה $ ומכיל תו
מלבד קו אלפאנומרי, קו תחתון או *, ^ מוכנס לפני הראשון כזה
אופי. לפיכך

cc -$דגלים $stem.c

שווה

cc דגלים $stem^.c

I / O ניתובים מחדש
הרצף >פילה מפנה מחדש את קובץ הפלט הסטנדרטי (מתאר קובץ 1, בדרך כלל ה-
מסוף) אל הטרמינל בעל השם פילה; >>פילה מוסיף פלט סטנדרטי לקובץ. הסטנדרט
קובץ קלט (מתאר קובץ 0, בדרך כלל גם הטרמינל) עשוי להיות מופנה מחדש מקובץ
לפי הרצף <פילה, או ממסמך `here' מוטבע לפי הרצף <<סמן eof.
התוכן של מסמך כאן הוא שורות טקסט שנלקחו מזרם קלט הפקודות למעלה
לשורה שאינה מכילה דבר מלבד סמן eof, שיכול להיות ציטוט או לא ציטוט
מִלָה. אם סמן eof ללא מרכאות, שמות משתנים מהצורה $מילה יש להם את הערכים שלהם
הוחלף מ של RC סביבה. אם $מילה ואחריו סימן קארט (^), הסימן הוא
נמחק. אם סמן eof מצוטט, לא מתרחשת החלפה.

ניתן להחיל הפניות מחדש על מתאר קובץ שאינו קלט או פלט סטנדרטיים על ידי
הגדרת אופרטור ההפניה באמצעות מספר בסוגריים מרובעים. לדוגמה,
ניתן להפנות מחדש את פלט האבחון (מתאר קובץ 2) על ידי כתיבה cc junk.c >[2] זבל.

ניתן להפנות מחדש מתאר קובץ למתאר שכבר פתוח על ידי כתיבת >[fd0=fd1] or
<[fd0=fd1]. Fd1 הוא מתאר קובץ שנפתח בעבר ו fd0 הופך לעותק חדש (ב-
תחושה של dup(3)) שלו. ניתן לסגור מתאר קובץ על ידי כתיבה >[fd0=] or <[fd0=].

ניתוב מחדש מבוצע משמאל לימין. לכן, cc junk.c > / dev / null >[2=1] ו
cc junk.c >[2=1] > / dev / null יש להם השפעות שונות: הראשון מכניס פלט סטנדרטי
/ dev / null ואז מכניס את פלט האבחון לאותו מקום, שאליו השני מכוון
פלט אבחון למסוף ושולח פלט סטנדרטי אל / dev / null.

תרכובת פקודות
זוג פקודות המופרדות על ידי אופרטור pipe (|) היא פקודה. הפלט הסטנדרטי של
הפקודה השמאלית נשלחת דרך צינור לקלט הסטנדרטי של הפקודה הימנית.
אופרטור הצינור עשוי להיות מעוטר לשימוש בתיאורי קבצים שונים. |[fd] מחבר בין
קצה הפלט של הצינור לתיאור הקובץ fd במקום 1. |[fd0=fd1] מחבר את הפלט אל
fd1 של הפקודה השמאלית והקלט אל fd0 של הפקודה הנכונה.

זוג פקודות המופרדות על ידי && or || היא פקודה. בכל מקרה, הפקודה השמאלית
מבוצע ונבדק מצב היציאה שלו. אם המפעיל הוא && הפקודה הנכונה היא
מבוצע אם הסטטוס של הפקודה השמאלית הוא null. || גורם לביצוע הפקודה הנכונה
אם הסטטוס של הפקודה השמאלית אינו ריק.

מצב היציאה של פקודה עשוי להיות הפוך (לא-ריק משתנה ל-null, null משתנה
ללא-ריק) על ידי הקדמתו של !.

השמיים | לאופרטור יש את העדיפות הגבוהה ביותר, והוא אסוציאטיבי שמאלי (כלומר, נקשר חזק יותר ל-
שמאל מאשר ימין). ! יש עדיפות ביניים, ו && ו || יש את הנמוך ביותר
עֲדִיפוּת.

האונרי @ אופרטור, עם קדימות שווה ל !, גורם לביצוע האופרנד שלו ב-
subshell.

כל אחת מהפעולות הבאות היא פקודה.
if ( רשימה ) הפקודה
A רשימה הוא רצף של פקודות, המופרדות על ידי &, ;, או שורה חדשה. זה מבוצע
ואם סטטוס היציאה שלו הוא ריק, ה- הפקודה מוציא להורג.
if לֹא הפקודה
הפקודה הקודמת מיד בוודאי הייתה אםרשימה) הפקודה. אם זה
התנאי היה לא אפס, ה הפקודה מוציא להורג.
עבור (שם in טיעונים) הפקודה
עבור (שם) הפקודה
השמיים הפקודה מבוצע פעם אחת עבור כל טענה עם הטיעון הזה שהוקצה ל שם.
אם רשימת הארגומנטים מושמטת, $* משמש.
בזמן(רשימה) הפקודה
השמיים רשימה מבוצע שוב ושוב עד שמצב היציאה שלו אינו ריק. בכל פעם שהוא
מחזירה סטטוס ריק, ה- הפקודה מבוצע. ריק רשימה נלקח כנתון אפס
מעמד.
מתג (טענה){רשימה}
השמיים רשימה מחפש פקודות פשוטות המתחילות במילה מקרה(החיפוש
נמצא רק ב'רמה העליונה' של רשימה. זה, מקרים במבנים מקוננים הם
לא נמצא.) טיעון משווים לכל מילה הבאה מקרה באמצעות
אלגוריתם התאמת התבניות שתואר לעיל, אלא ש / והדמויות הראשונות
of . ו .. אין צורך להתאים אותו במפורש. כאשר נמצאת התאמה, פקודות ב
הרשימה מבוצעת עד למועד הבא מקרה פקודה (ברמה העליונה) או
סוגר הסגירה.
{רשימה}
סוגריים מרוטים משמשים לשינוי קיבוץ הפקודות המשתמעות מסדרי עדיפויות של האופרטור.
גוּף הוא רצף של פקודות המופרדות על ידי &, ;, או שורה חדשה.
fn שם{רשימה}
fn שם
הצורה הראשונה מגדירה פונקציה עם הנתון שםלאחר מכן, בכל פעם ש-
פקודה שהארגומנט הראשון שלה הוא שם נתקל, הערך הנוכחי של
יתרת רשימת הארגומנטים של הפקודה תוקצה ל $*, לאחר שמירתו
ערך נוכחי, ו rc יבצע את רשימההצורה השנייה מסירה שם's
הגדרת פונקציה.
fn הערות{רשימה}
fn הערות
פונקציה עם שם מיוחד תיקרא כאשר rc מקבל תואם
הערה; ראה תודיע(3). שמות התווים התקפים (והתווים המתאימים) הם נאנח
(לנתק), חתימה (להפריע), סיגלרם (אזעקה,) ו סיגפי (מלכודת נקודה צפה).
כברירת מחדל rc נסגר בעת קבלת אות כלשהו, ​​למעט כאשר הוא מופעל באופן אינטראקטיבי, ב
איזה מקרה קוטע ונסגר בדרך כלל גורם rc להפסיק את מה שהוא עושה ו
להתחיל לקרוא פקודה חדשה. הצורה השנייה גורמת rc לטפל באות ב-
אופן ברירת המחדל. Rc מזהה תו מלאכותי, סיגקסיט, המתרחש כאשר rc is
עומד לסיים את הביצוע.
שם=טענה הפקודה
כל פקודה עשויה לבוא לפני רצף של מטלות שביניהן
ניתוב מחדש. ההקצאות נשארות בתוקף עד סוף הפקודה,
אלא אם כן הפקודה ריקה (כלומר, ההקצאות עומדות בפני עצמן), ובמקרה כזה הן
בתוקף עד לביטולם על ידי הקצאות מאוחרות יותר.

Built-in פקודות
פקודות אלו מבוצעות באופן פנימי על ידי rc, בדרך כלל בגלל שינויים בביצוע שלהם או
תלוי rcהמצב הפנימי של.
. פילה ...
בצע פקודות מ פילה. $* נקבע למשך הזמן עד לשארית
רשימת הטיעונים הבאה פילה. שלח מחפשים באמצעות מסלול $.
בנוי הפקודה ...
לבצע הפקודה כרגיל, אלא שכל פונקציה בשם הפקודה מתעלמים לטובת
של המשמעות המובנית.
cd [dir]
שנה את הספרייה הנוכחית ל dirהארגומנט המוגדר כברירת מחדל הוא $home. dir is
חיפשו בכל אחת מהספריות המוזכרות ב נתיב$cd.
הערכה [גדול מ ...]
הארגומנטים משורשרים מופרדים באמצעות רווחים למחרוזת אחת, הנקראת כך
קלט ל rc, והוצאה להורג.
Exec [הפקודה ...]
מקרה זה של rc מחליף את עצמו בנתון (לא מובנה) הפקודה.
דגל f [+-]
או קבוצה (+), ברור (-), או בדיקה (אף אחד מהם לא + ולא -) הדגל f, שם f הוא
תו בודד, אחד מדגלי שורת הפקודה (ראה קריאה, להלן).
יציאה [מצב]
יציאה עם סטטוס היציאה הנתון. אם לא צוין סטטוס יציאה, הערך הנוכחי של $status is
מְשׁוּמָשׁ.
מזלג [nNeEsfFm]
הפוך לקבוצת תהליכים חדשה באמצעות rfork(דגלים) איפה דגלים מורכב מ-
OR בסיביות של ה- מזלג דגלים שצוינו על ידי אותיות האפשרויות (ראה מזלג(2)). אם לא
דגלים ניתנים, הם כברירת מחדל ENS. ה דגלים והמשמעויות שלהם הן: n is
RFNAMEG; N is RFCNAMEG; e is RFENVG; E is RFCENVG; s is RFNOTEG; f is RFFDG; F is
RFCFDG, ו m is RFNOMNT.
משמרת [n]
מחק את הראשון n (ברירת מחדל 1) אלמנטים של $*.
לחכות [PID]
המתן לתהליך עם הנתון PID לצאת. אם לא PID ניתן, הכל
תהליכים שטרם נמשכו ממתינים.
מה זה שם ...
הדפס את הערך של כל אחד מהם שם בצורה המתאימה לקלט rcהפלט הוא
הקצאה לכל משתנה, הגדרה של כל פונקציה, קריאה ל בנוי ל
כל פקודה מובנית, או שם הנתיב המלא של כל קובץ הרצה.
~ נושא דפוס ...
השמיים נושא משווים כנגד כל אחד דפוס ברצף. אם זה תואם לאחד מהם
תבנית, $status מוגדר לאפס. אחרת, $status מוגדר לאחד. תבניות הן
אותו דבר כמו להתאמת שמות קבצים, אלא ש / והדמות הראשונה של . ו
.. אין צורך להתאים אותו במפורש. ה- דפוסי אינם כפופים לשם קובץ
התאמה לפני ה- ~ הפקודה מבוצעת, כך שאין צורך לכלול אותן ב
מרכאות.

סביבה
השמיים סביבה היא רשימה של מחרוזות שהועמדו לרשות קבצים בינאריים מבוצעים על ידי הליבה.
Rc יוצר ערך סביבה עבור כל משתנה שערכו אינו ריק, ועבור כל אחד
פונקציה. המחרוזת עבור ערך משתנה כוללת את שם המשתנה ואחריו = ו שלה
ערך. אם לערך יש יותר מרכיב אחד, אלה מופרדים על ידי SOH (001)
תווים. המחרוזת של פונקציה היא פשוט ה- rc קלט שמגדיר את הפונקציה.
שם הפונקציה בסביבה הוא שם הפונקציה שלפניו

מתי rc מתחיל להריץ אותו קורא הגדרות משתנים ופונקציות מהסביבה שלו.

מיוחד משתנים
המשתנים הבאים מוגדרים או משמשים את rc.
$* מכוון ל rcרשימת הארגומנטים של במהלך האתחול. בכל פעם ש-a . פקודה או א
הפונקציה מבוצעת, הערך הנוכחי נשמר ו $* מקבל את הטיעון החדש
רשימה. הערך השמור משוחזר לאחר השלמת ה- . או פונקציה.
$apid בכל פעם שתהליך מופעל באופן אסינכרוני עם &, $apid מוגדר לתהליך שלו
תְעוּדַת זֶהוּת.
$home ספריית ברירת המחדל עבור cd.
אם מפרידי שדות הקלט המשמשים בהחלפות של ציטוטים לאחור. אם אם לא מוגדר
in rcבסביבה של, הוא מאותחל ל- blank, tab ו- new line.
מסלול $ נתיב החיפוש המשמש למציאת פקודות וקבצי קלט עבור . פקודה. אם לא
מוגדר בסביבה, הוא מאותחל על ידי ניתוח ה- $ PATH משתנה (כמו ב
sh(1)) או על ידי נתיב=(. / סל)המשתנים מסלול $ ו $ PATH נשמרים
יחד: שינויים באחד ישתקפו בשני.
$pid הגדר במהלך האתחול ל rcמזהה התהליך של.
$ הנחיה מתי rc מופעל באופן אינטראקטיבי, הרכיב הראשון של $ הנחיה מודפס לפני
קריאת כל פקודה. הרכיב השני מודפס בכל פעם שמופיעה שורה חדשה
מודפס ונדרשות שורות נוספות כדי להשלים את הפקודה. אם לא מוגדר ב
סביבה, היא מאותחלת על ידי הפקודה = ('% ' ' ').
$status הגדר את הודעת ההמתנה של התוכנית שבוצעה לאחרונה. (אלא אם כן הופעלה עם ו).
! ו ~ גם לשנות $statusערכו משמש לשליטה בביצוע ב &&, ||,
if ו בזמן פקודות. מתי rc יוצא בסוף קובץ הקלט שלו או בעת ביצוע
an יציאה פקודה ללא ארגומנט, $status הוא מצב היציאה שלו.

הזמנה
If rc כאשר הוא מופעל ללא ארגומנטים, הוא קורא פקודות מקלט סטנדרטי. אחרת, הוא
הארגומנט הראשון שאינו דגל הוא שם הקובץ שממנו יש לקרוא פקודות (אך ראה -c
למטה). הארגומנטים הבאים הופכים לערך ההתחלתי של $*. Rc מקבל את הדברים הבאים
דגלי שורת פקודה.
-c מחרוזת פקודות נקראות מ מחרוזת.
-s הדפס סטטוס יציאה לאחר כל פקודה שבה הסטטוס אינו ריק.
-e יציאה אם $status אינו ריק לאחר ביצוע פקודה פשוטה.
-i If -i נוכח, או rc לא ניתנים ארגומנטים והקלט הסטנדרטי שלו הוא
הטרמינל, הוא פועל באופן אינטראקטיבי. פקודות מתבקשות לשימוש $ הנחיה.
-I מוודא rc לא מופעל באופן אינטראקטיבי.
-l If -l נתון או שהתו הראשון של ארגומנט אפס הוא -, rc קורא פקודות
החל מ- ‎$home/lib/profile, אם הוא קיים, לפני קריאת הקלט הרגיל שלו.
-p בלי אפשרות.
-d בלי אפשרות.
-v הד קלט על מתאר קובץ 2 בזמן הקריאה.
-x הדפס כל פקודה פשוטה לפני ביצועה.
-r הדפס מידע על ניפוי שגיאות (צורה פנימית של פקודות בזמן ביצוען).

מקור


/src/cmd/rc

השתמש ב-rcplan9 באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad




×
פרסומת
❤️קנו, הזמינו או קנו כאן - ללא עלות, עוזר לשמור על שירותים בחינם.