OnWorks Linux و Windows Online WorkStations

الشعار

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

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

تعيين القيم للمتغيرات والثوابت

هنا حيث بدأت معرفتنا بالتوسع تؤتي ثمارها حقًا. كما رأينا ، يتم تخصيص قيم للمتغيرات بهذه الطريقة:

متغير=قيمنا

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

لاحظ أنه في الواجب ، يجب ألا تكون هناك مسافات بين اسم المتغير وعلامة يساوي والقيمة. إذن ما يمكن أن تتكون القيمة؟ أي شيء يمكننا توسيعه في سلسلة:


أ = ض

ب = "سلسلة"

c = "سلسلة و $ b"


d = $ (ls -l foo.txt) e = $ ((5 * 7)) f = "\ t \ ta string \ n"

# قم بتعيين السلسلة "z" إلى المتغير a.

# يجب أن تكون المساحات المضمنة بين علامات الاقتباس.

# التوسعات الأخرى مثل المتغيرات يمكن أن تكون

# موسعة في المهمة.

# نتائج الأمر.

# التوسع الحسابي.

# تسلسل الهروب مثل علامات التبويب والأسطر الجديدة.

أ = ض

ب = "سلسلة"

c = "سلسلة و $ b"


d = $ (ls -l foo.txt) e = $ ((5 * 7)) f = "\ t \ ta string \ n"


صورة

يمكن إجراء التخصيصات المتغيرة المتعددة على سطر واحد:



أ = 5 ب = "سلسلة"

أ = 5 ب = "سلسلة"


أثناء التوسيع ، قد تُحاط أسماء المتغيرات بأقواس معقوفة اختيارية "{}". يكون هذا مفيدًا في الحالات التي يصبح فيها اسم المتغير غامضًا بسبب المحتوى المحيط به.


نص. هنا ، نحاول تغيير اسم ملف من ملفي إلى ملفي 1، باستخدام متغير:



[me @ linuxbox ~] $ اسم الملف = "ملفي" [me @ linuxbox ~] $ المس اسم الملف $ [me @ linuxbox ~] $ mv $ filename $ filename1

mv: مُعامل ملف الوجهة مفقود بعد "myfile" جرب "mv --help" لمزيد من المعلومات.

[me @ linuxbox ~] $ اسم الملف = "ملفي" [me @ linuxbox ~] $ المس اسم الملف $ [me @ linuxbox ~] $ mv $ filename $ filename1

mv: مُعامل ملف الوجهة مفقود بعد "myfile" جرب "mv --help" لمزيد من المعلومات.


فشلت هذه المحاولة لأن الصدفة تفسر الوسيطة الثانية لـ mv الأمر كمتغير جديد (وفارغ). يمكن التغلب على المشكلة بهذه الطريقة:



[me @ linuxbox ~] $ mv $ filename $ {filename} 1

[me @ linuxbox ~] $ mv $ filename $ {filename} 1


بإضافة الأقواس المحيطة ، لم تعد الصدفة تفسر الزائدة 1 كجزء من اسم المتغير.

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



#! / بن / باش

# برنامج لإخراج صفحة معلومات النظام TITLE = "تقرير معلومات النظام لـ $ HOSTNAME"

CURRENT_TIME = $ (التاريخ + "٪ x٪ r٪ Z")

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


صدى صوت "

العنوان $

العنوان $

TIMESTAMP دولار

"

#! / بن / باش

# برنامج لإخراج صفحة معلومات النظام TITLE = "تقرير معلومات النظام لـ $ HOSTNAME"

CURRENT_TIME = $ (التاريخ + "٪ x٪ r٪ Z")

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


صدى صوت "

العنوان $

العنوان $

TIMESTAMP دولار

"


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