זוהי הפקודה tclsh8.6 שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
tclsh - מעטפת פשוטה המכילה מתורגמן Tcl
תַקצִיר
tclsh ?-הַצפָּנָה שם? ?שם קובץ גדול מ גדול מ ...?
_________________________________________________________________________________________________
תיאור
Tclsh הוא יישום דמוי מעטפת שקורא פקודות Tcl מהקלט הסטנדרטי שלו או מ
קובץ ומעריך אותם. אם מופעל ללא ארגומנטים, הוא פועל באופן אינטראקטיבי,
קריאת פקודות Tcl מתוצאות פקודות קלט והדפסה סטנדרטיות והודעות שגיאה
לפלט סטנדרטי. זה פועל עד ה יציאה הפקודה מופעלת או עד שהיא מגיעה לסוף-
קובץ על הקלט הסטנדרטי שלו. אם קיים קובץ .tclshrc (אוֹ tclshrc.tcl על
פלטפורמות Windows) בספריית הבית של המשתמש, אינטראקטיבית tclsh מעריך את הקובץ
כסקריפט Tcl ממש לפני קריאת הפקודה הראשונה מקלט רגיל.
SCRIPT קבצים
If tclsh מופעל עם ארגומנטים ואז הארגומנטים הראשונים מציינים את השם של a
קובץ סקריפט, ולחלופין, הקידוד של נתוני הטקסט המאוחסנים בקובץ הסקריפט הזה.
כל ארגומנטים נוספים זמינים לסקריפט כמשתנים (ראה להלן).
במקום לקרוא פקודות מקלט סטנדרטי tclsh יקרא פקודות Tcl מה-
קובץ בשם; tclsh ייצא כאשר יגיע לסוף הקובץ. סוף הקובץ עשוי
להיות מסומן על ידי הקצה הפיזי של המדיום, או על ידי התו, "\032" ("\u001a",
control-Z). אם תו זה קיים בקובץ, ה- tclsh האפליקציה תקרא
טקסט עד אך לא כולל התו. אפליקציה שדורשת את התו הזה
בקובץ עשוי לקודד אותו בבטחה כ"\032", "\x1a", או "\u001a"; או עשוי ליצור אותו באמצעות שימוש
של פקודות כגון פוּרמָט or בינרי. אין הערכה אוטומטית של .tclshrc מתי
השם של קובץ סקריפט מוצג ב- tclsh שורת הפקודה, אבל קובץ הסקריפט יכול
תמיד מָקוֹר את זה אם תרצה.
אם אתה יוצר סקריפט Tcl בקובץ שהשורה הראשונה שלו היא
#!/usr/local/bin/tclsh
אז אתה יכול להפעיל את קובץ הסקריפט ישירות מהמעטפת שלך אם תסמן את הקובץ כ
בר הפעלה. זה מניח את זה tclsh הותקן במיקום ברירת המחדל ב
/ usr / local / bin; אם הוא מותקן במקום אחר, תצטרך לשנות את האמור לעיל
קו כדי להתאים. מערכות UNIX רבות אינן מאפשרות את #! השורה תעלה על כ-30 תווים
באורך, אז ודא שה tclsh ניתן לגשת לקובץ ההפעלה עם שם קובץ קצר.
גישה טובה עוד יותר היא להתחיל את קובצי הסקריפט שלך בשלוש השורות הבאות:
#!/ Bin / sh
# מה היא הבא קו מופעל מחדש באמצעות tclsh \
Exec tclsh "$ 0" ${1+"$@"}
לגישה זו שלושה יתרונות על פני הגישה בפסקה הקודמת. ראשון,
המיקום של tclsh בינארי לא חייב להיות מחובר לתסריט: הוא יכול
להיות בכל מקום בנתיב חיפוש המעטפת שלך. שנית, הוא עוקף את שם הקובץ בן 30 התווים
מגבלה בגישה הקודמת. שלישית, גישה זו תעבוד גם אם tclsh הוא עצמו א
סקריפט shell (זה נעשה במערכות מסוימות כדי לטפל בארכיטקטורות מרובות או
מערכות הפעלה: ה tclsh הסקריפט בוחר אחד ממספר קבצים בינאריים להפעלה). השלושה
קווים גורמים לשניהם sh ו tclsh לעבד את התסריט, אבל את Exec מבוצע רק על ידי sh.
sh מעבד תחילה את התסריט; הוא מתייחס לשורה השנייה כהערה ומבצע את
שורה שלישית. ה Exec משפט לגרום למעטפת להפסיק את העיבוד ובמקום זאת להפעיל
tclsh כדי לעבד מחדש את התסריט כולו. מתי tclsh מתחיל, הוא מתייחס לכל שלושת הקווים כאל
הערות, מאחר והלוכסן האחורי בסוף השורה השנייה גורם לשורה השלישית להיות
מטופל כחלק מההערה בשורה השנייה.
כדאי לשים לב שזה גם נוהג נפוץ להתקין tclsh עם מספר הגרסה שלו
כחלק מהשם. יש לזה יתרון בכך שהוא מאפשר למספר גרסאות של Tcl להתקיים
על אותה מערכת בבת אחת, אבל גם החיסרון של להקשות על כתיבת תסריטים
שמתחילים באופן אחיד על פני גרסאות שונות של Tcl.
וריאציות
Tclsh מגדיר את משתני ה-Tcl הגלובליים הבאים בנוסף לאלו שנוצרו על-ידי ה-Tcl
הספרייה עצמה (כגון env, אשר ממפה משתני סביבה כגון נתיב לתוך Tcl):
טען מכיל ספירה של מספר גדול מ ארגומנטים (0 אם אין), לא כולל
שם קובץ הסקריפט.
argv מכיל רשימת Tcl שהרכיבים שלה הם גדול מ טיעונים, לפי סדר, או א
מחרוזת ריקה אם אין גדול מ ארגומנטים.
argv0 מכיל שם קובץ אם זה צוין. אחרת, מכיל את השם מאת
אשר tclsh הופעל.
tcl_interactive
מכיל 1 אם tclsh פועל באופן אינטראקטיבי (לא שם קובץ צוין ו
קלט סטנדרטי הוא התקן דמוי מסוף), 0 אחרת.
הנחיה
מתי tclsh מופעל באופן אינטראקטיבי, בדרך כלל הוא מבקש לכל פקודה עם "% ". אתה
יכול לשנות את ההנחיה על ידי הגדרת המשתנים הגלובליים tcl_prompt1 ו tcl_prompt2. אם
משתנה tcl_prompt1 קיים אז הוא חייב להיות מורכב מסקריפט Tcl כדי להוציא הנחיה;
במקום להוציא הנחיה tclsh יעריך את התסריט ב tcl_prompt1. ה
משתנה tcl_prompt2 משמש באופן דומה כאשר מוקלדת שורה חדשה אך הנוכחית
הפקודה עדיין לא הושלמה; אם tcl_prompt2 לא מוגדר, אז לא יוצאת הנחיה עבור
פקודות לא שלמות.
תקן ערוצים
לִרְאוֹת Tcl_StandardChannels להסברים נוספים.
השתמש ב-tclsh8.6 באינטרנט באמצעות שירותי onworks.net