OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

כאן מסמכים

בדקנו שתי שיטות שונות להפקת הטקסט שלנו, שתיהן באמצעות ה הד קומ-


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

הפקודה << אסימון

טֶקסט

אסימון

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



#! / bin / bash


# תוכנית לפלט דף מידע מערכת


TITLE="דוח מידע מערכת עבור $HOSTNAME" CURRENT_TIME=$(תאריך +"%x %r %Z")

TIMESTAMP="נוצר $CURRENT_TIME, על ידי $USER"


חתול << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_EOF_

#! / bin / bash


# תוכנית לפלט דף מידע מערכת


TITLE="דוח מידע מערכת עבור $HOSTNAME" CURRENT_TIME=$(תאריך +"%x %r %Z")

TIMESTAMP="נוצר $CURRENT_TIME, על ידי $USER"


חתול << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_EOF_


במקום להשתמש הד, הסקריפט שלנו משתמש כעת חתול ומסמך כאן. המיתר _EOF_ (כלומר "End Of File", מוסכמה נפוצה) נבחר כאסימון, ומסמן את סוף הטקסט המוטבע. שימו לב שהאסימון חייב להופיע לבד ושאסור להיות רווחים נגררים על הקו.

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



[me@linuxbox ~]$ foo="כמה טקסט"

[me@linuxbox ~]$ חתול << _EOF_

> $foo

[me@linuxbox ~]$ foo="כמה טקסט"

[me@linuxbox ~]$ חתול << _EOF_

> $foo


> "$פו"

> '$foo'

> \$פו

> _EOF_ טקסט כלשהו "טקסט כלשהו" "טקסט כלשהו"

$foo

> "$פו"

> '$foo'

> \$פו

> _EOF_ טקסט כלשהו "טקסט כלשהו" "טקסט כלשהו"

$foo


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

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



#! / bin / bash

# סקריפט לאחזור קובץ דרך FTP FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ פתח את $FTP_SERVER

משתמש אנונימי me@linuxbox cd $FTP_PATH

שירים

קבל $REMOTE_FILE ביי

_EOF_

ls -l $REMOTE_FILE

#! / bin / bash

# סקריפט לאחזור קובץ דרך FTP FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ פתח את $FTP_SERVER

משתמש אנונימי me@linuxbox cd $FTP_PATH

שירים

קבל $REMOTE_FILE ביי

_EOF_

ls -l $REMOTE_FILE


אם נשנה את אופרטור ההפניה מ-"<<" ל-"<<-", המעטפת תתעלם מתווי כרטיסיות מובילים במסמך כאן. זה מאפשר הזחה של מסמך כאן, מה שיכול לשפר את הקריאה:



#! / bin / bash

# סקריפט לאחזור קובץ דרך FTP FTP_SERVER=ftp.nl.debian.org

#! / bin / bash

# סקריפט לאחזור קובץ דרך FTP FTP_SERVER=ftp.nl.debian.org


FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ פתח את $FTP_SERVER

משתמש אנונימי me@linuxbox cd $FTP_PATH

שירים

קבל $REMOTE_FILE ביי

_EOF_


ls -l $REMOTE_FILE

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ פתח את $FTP_SERVER

משתמש אנונימי me@linuxbox cd $FTP_PATH

שירים

קבל $REMOTE_FILE ביי

_EOF_


ls -l $REMOTE_FILE


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: