OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

هنا المستندات

لقد نظرنا إلى طريقتين مختلفتين لإخراج النص ، كلاهما باستخدام صدى COM-


ماند. هناك طريقة ثالثة تسمى أ هنا الوثيقة or هنا النصي. المستند الموجود هنا هو شكل إضافي لإعادة توجيه الإدخال / الإخراج حيث نقوم بتضمين نص في البرنامج النصي الخاص بنا وإدخاله في الإدخال القياسي للأمر. يعمل مثل هذا:

أمر << رمز

نص

رمز

أين أمر هو اسم الأمر الذي يقبل الإدخال القياسي و رمز هي سلسلة تستخدم للإشارة إلى نهاية النص المضمن. سنقوم بتعديل البرنامج النصي الخاص بنا لاستخدام مستند هنا:



#! / بن / باش


# برنامج لإخراج صفحة معلومات النظام


TITLE = "تقرير معلومات النظام لـ $ HOSTNAME" CURRENT_TIME = $ (التاريخ + "٪ x٪ r٪ Z")

TIMESTAMP = "تم توليده $ CURRENT_TIME ، بواسطة $ USER"


قطة << _EOF_

العنوان $

العنوان $

TIMESTAMP دولار

_EOF_

#! / بن / باش


# برنامج لإخراج صفحة معلومات النظام


TITLE = "تقرير معلومات النظام لـ $ HOSTNAME" CURRENT_TIME = $ (التاريخ + "٪ x٪ r٪ Z")

TIMESTAMP = "تم توليده $ CURRENT_TIME ، بواسطة $ USER"


قطة << _EOF_

العنوان $

العنوان $

TIMESTAMP دولار

_EOF_


بدلا من استخدام صدى، يستخدم البرنامج النصي الخاص بنا الآن قط ووثيقة هنا. السلسلة _EOF_ (بمعنى "نهاية الملف" ، اصطلاح شائع) تم تحديده كعلامة مميزة ، ويضع علامة على نهاية النص المضمن. لاحظ أن الرمز المميز يجب أن يظهر بمفرده وأنه يجب ألا تكون هناك مسافات لاحقة على السطر.

إذن ما فائدة استخدام مستند هنا؟ انها في الغالب نفس صدى، إلا أنه ، بشكل افتراضي ، تفقد علامات الاقتباس المفردة والمزدوجة في المستندات هنا معناها الخاص في الغلاف. فيما يلي مثال على سطر الأوامر:



[me @ linuxbox ~] $ foo = "بعض النص"

[me @ linuxbox ~] $ قطة << _EOF_

> $ فو

[me @ linuxbox ~] $ foo = "بعض النص"

[me @ linuxbox ~] $ قطة << _EOF_

> $ فو


> "$ foo"

> "$ foo"

> \ $ فو

> _EOF_ بعض النص "بعض النص" "بعض النص"

$ فو

> "$ foo"

> "$ foo"

> \ $ فو

> _EOF_ بعض النص "بعض النص" "بعض النص"

$ فو


كما نرى ، فإن الغلاف لا يهتم بعلامات الاقتباس. يعاملهم كشخصيات عادية. هذا يسمح لنا بتضمين الاقتباسات بحرية داخل وثيقة هنا. قد يكون هذا مفيدًا لبرنامج تقريرنا.

يمكن استخدام المستندات هنا مع أي أمر يقبل الإدخال القياسي. في هذا المثال ، نستخدم وثيقة هنا لتمرير سلسلة من الأوامر إلى بروتوكول نقل الملفات برنامج موجود أو لاسترداد ملف من خادم FTP بعيد:



#! / بن / باش

# برنامج نصي لاسترداد ملف عبر 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

user anonymous me @ linuxbox cd $ FTP_PATH

مزيج

احصل على $ REMOTE_FILE وداعًا

_EOF_

ls -l $ REMOTE_FILE

#! / بن / باش

# برنامج نصي لاسترداد ملف عبر 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

user anonymous me @ linuxbox cd $ FTP_PATH

مزيج

احصل على $ REMOTE_FILE وداعًا

_EOF_

ls -l $ REMOTE_FILE


إذا قمنا بتغيير عامل إعادة التوجيه من "<<" إلى "<< -" ، فإن الصدفة ستتجاهل أحرف الجدولة البادئة في مستند هنا. يتيح ذلك وضع مسافة بادئة لمستند هنا ، مما قد يؤدي إلى تحسين إمكانية القراءة:



#! / بن / باش

# برنامج نصي لاسترداد ملف عبر FTP FTP_SERVER = ftp.nl.debian.org

#! / بن / باش

# برنامج نصي لاسترداد ملف عبر 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

user anonymous 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

user anonymous me @ linuxbox cd $ FTP_PATH

مزيج

احصل على $ REMOTE_FILE وداعًا

_EOF_


ls -l $ REMOTE_FILE


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: