1 00:00:00,000 --> 00:00:02,320 >> [ندوة - يونكس قذائف، البيئات] 2 00:00:02,320 --> 00:00:04,180 [دوغلاس كلاين - جامعة هارفارد] 3 00:00:04,180 --> 00:00:07,160 [هذا CS50. - CS50.TV] 4 00:00:07,160 --> 00:00:12,770 >> موضوع اليوم هو قذيفة يونيكس. 5 00:00:12,770 --> 00:00:20,600 أنا دوغلاس كلاين، الخبير، أو مستخدم المختصة معقول على الأقل، من قذيفة. 6 00:00:20,600 --> 00:00:25,280 قذيفة هو واجهة للمستخدم لنظام التشغيل للكمبيوتر. 7 00:00:25,280 --> 00:00:29,580 اسم مضلل كما، على عكس قذيفة الحيوان، 8 00:00:29,580 --> 00:00:34,890 والتي من الصعب واقية، وقذيفة الكمبيوتر يسمح للاتصال. 9 00:00:34,890 --> 00:00:39,120 لذلك الغشاء المسامي ربما يكون استعارة أفضل. 10 00:00:39,120 --> 00:00:44,500 >> قذيفة الأصلي ليونكس هو قذيفة بورن. 11 00:00:44,500 --> 00:00:46,450 هو مكتوبة بورن B-O-U-R-N-E. 12 00:00:46,450 --> 00:00:49,770 كان بورن واحدة من الكتاب الأصلي من يونيكس، 13 00:00:49,770 --> 00:00:51,700 وهكذا يدعى قذيفة من بعده. 14 00:00:51,700 --> 00:00:54,850 اسم ذلك قذيفة كأمر هو ببساطة ش. 15 00:00:54,850 --> 00:00:57,400 هذا هو الأمر الذي يمكن تنفيذه. 16 00:00:57,400 --> 00:01:00,810 يبدأ قذيفة في تسجيل الدخول. 17 00:01:00,810 --> 00:01:04,459 عند تسجيل الدخول إلى الكمبيوتر، وقذيفة يبدأ تشغيل فقط بالنسبة لك، 18 00:01:04,459 --> 00:01:06,820 وهذا ما يأخذ الأوامر الخاصة بك. 19 00:01:06,820 --> 00:01:09,790 ويمكن ان تبدأ في أوقات أخرى أيضا. 20 00:01:09,790 --> 00:01:16,780 إذا كنت إحضار نافذة مع أي إشارة أخرى، فإنه سيتم البدء قذيفة بالنسبة لك. 21 00:01:16,780 --> 00:01:20,450 هذا كيف هو أنك يمكن أن تذهب إلى النافذة والبدء بكتابة الأوامر 22 00:01:20,450 --> 00:01:23,960 وهكذا دواليك هناك حتى ولو كنت لا تسجيل الدخول إلى تلك النافذة. 23 00:01:23,960 --> 00:01:26,670 بالإضافة إلى ذلك، إذا كنت تفعل الدخول عن بعد، 24 00:01:26,670 --> 00:01:30,250 ثم انها ستبدأ قذيفة على الكمبيوتر البعيد. 25 00:01:30,250 --> 00:01:44,310 وكان من الممكن لتشغيل الأوامر دون قذيفة التفاعلية. 26 00:01:44,310 --> 00:01:48,990 يمكن أن يعني في العملية الحالية الخاصة بك، 27 00:01:48,990 --> 00:01:50,700 ويمكن أيضا أن تعني عملية النائية. 28 00:01:50,700 --> 00:01:52,900 هل يمكن إرسال أمر إلى كمبيوتر آخر، 29 00:01:52,900 --> 00:01:55,460 والذي يتضمن بدء قذيفة هناك. 30 00:01:55,460 --> 00:01:57,760 في واقع الأمر، فإنه يجب أن تشمل بدء قذيفة هناك 31 00:01:57,760 --> 00:02:01,740 حتى لو كان هذا ليس الغرض النهائي الخاص بك. 32 00:02:05,310 --> 00:02:12,350 عندما يبدأ شيء ما من هذا القبيل، فإنه لا يبدأ بالضرورة قذيفة جديدة. 33 00:02:12,350 --> 00:02:17,430 إذا كنت إحضار نافذة جديدة، فمن الممكن أن أقول ذلك لإحضار محرر 34 00:02:17,430 --> 00:02:18,940 أو بعض الأوامر الأخرى. 35 00:02:18,940 --> 00:02:20,560 في هذه الحالة، فإن محرر نبدأ من الصفر. 36 00:02:20,560 --> 00:02:22,930 عندما تنتهي المحرر، ينتهي النافذة. 37 00:02:22,930 --> 00:02:24,620 هذا أمر غير مألوف قليلا ولكن يمكن القيام به. 38 00:02:24,620 --> 00:02:27,140 في تلك الحالات، فإنه لن يكون قذيفة. 39 00:02:27,140 --> 00:02:31,890 حتى انها ليست بالضرورة أن نافذة أو بعض هذا التطبيق سوف إحضار قذيفة. 40 00:02:31,890 --> 00:02:34,030 >> شل يوزع الأوامر. 41 00:02:34,030 --> 00:02:40,900 تحليل يعني تحديد العناصر المختلفة وتصنيفها. 42 00:02:40,900 --> 00:02:43,470 ضمن الأوامر، سلسلة كاملة التي تكتبها، 43 00:02:43,470 --> 00:02:47,310 سيكون هناك 1 أو أكثر الأوامر واحد ليتم تنفيذها. 44 00:02:47,310 --> 00:02:50,050 يمكن أن تكون عناصر أخرى الحجج. 45 00:02:50,050 --> 00:02:55,020 يمكن أيضا أن تكون هناك أحرف خاصة التي تؤثر على تنفيذ أمر. 46 00:02:55,020 --> 00:02:59,710 يمكنهم إرسال الإخراج في مكان آخر من الشاشة 47 00:02:59,710 --> 00:03:01,750 إذا كان الأمر سيرسل عادة إلى الشاشة. 48 00:03:01,750 --> 00:03:04,390 فإنه يمكن إعادة توجيه المدخلات، بل يمكن أن تفعل أشياء أخرى أيضا. 49 00:03:04,390 --> 00:03:08,120 هناك العديد من الرموز الأخرى، وشخصيات، وهكذا دواليك. 50 00:03:08,120 --> 00:03:13,600 ويشمل تحليل الكشف وتفسير تلك الأشياء. 51 00:03:13,600 --> 00:03:19,560 الآن >> إذا لم تكن هناك أسئلة أخرى، والتي من المرجح بدلا حيث لا توجد المزيد من الناس، 52 00:03:19,560 --> 00:03:24,620 سوف نذهب إلى الصفحة التالية بلدي هنا. 53 00:03:24,620 --> 00:03:29,170 >> قلت في وقت سابق ان بورن قذيفة قذيفة هي الأولي. 54 00:03:29,170 --> 00:03:31,550 وهناك آخرون. 55 00:03:31,550 --> 00:03:34,520 واحد هو C-قذيفة. الأمر هو مستشفى الدعم القتالي. 56 00:03:34,520 --> 00:03:36,830 اسم C-قذيفة هو مجرد لعب على الكلام. 57 00:03:36,830 --> 00:03:41,260 وقدم هذا قذيفة مع بيركلي يونكس في منتصف 1970s. 58 00:03:41,260 --> 00:03:44,830 كان بيركلي يونكس الحدث البارز في تطوير يونيكس. 59 00:03:44,830 --> 00:03:48,770 لقد كانت ثورة هائلة وشملت إدخال هذه الصدفة. 60 00:03:48,770 --> 00:03:50,790 السبب في ذلك لعب على الكلام، C-قذيفة، 61 00:03:50,790 --> 00:03:56,490 هو أن C-قذيفة لديها بعض الخصائص التي تشبه في ذلك لغة C، 62 00:03:56,490 --> 00:03:59,740 التي ليس لديها بورن قذيفة - 63 00:03:59,740 --> 00:04:02,140 أو أنه لم يكن لديهم في ذلك الوقت. 64 00:04:02,140 --> 00:04:05,190 هناك أيضا TC-قذيفة. 65 00:04:05,190 --> 00:04:07,360 هذا هو شاملة من C-قذيفة. 66 00:04:07,360 --> 00:04:11,470 لديها ميزات إضافية، وكثير منها هي مفيدة للاستخدام التفاعلي، 67 00:04:11,470 --> 00:04:16,050 مثل التذكير الأوامر في آلية التاريخ، 68 00:04:16,050 --> 00:04:18,459 التي سأصف لكم في وقت لاحق إلى حد ما - 69 00:04:18,459 --> 00:04:23,120 بطريقة بسيطة، على غرار محرر. 70 00:04:23,120 --> 00:04:29,170 كما أن لديها ارتباطات والتي تسمح لك لربط سلسلة مفتاح قصيرة إلى أمر لفترة أطول. 71 00:04:29,170 --> 00:04:31,440 نحن لن يكون الحصول في هذا اليوم. 72 00:04:31,440 --> 00:04:33,650 لديه بعض الميزات التي هي مفيدة للبرمجة. 73 00:04:33,650 --> 00:04:37,020 ومع ذلك، لا يتم في كثير من الأحيان استخدام C-قذيفة قذيفة للبرمجة. 74 00:04:37,020 --> 00:04:39,080 برامج شركة شل، وإذا كنت لا تعرف بالفعل، 75 00:04:39,080 --> 00:04:41,690 هي البرامج التي تتكون من خصائص قذيفة. 76 00:04:41,690 --> 00:04:43,220 هل يمكن تشغيل هذه البرامج كما. 77 00:04:43,220 --> 00:04:46,760 تكتب مجموعة من الأوامر قذيفة في ملف وتنفيذ الملف. 78 00:04:46,760 --> 00:04:49,760 أنت لا تحتاج إلى ترجمة عليه. هذه هي لغة تفسيرية. 79 00:04:49,760 --> 00:04:57,320 العبارة C-قذيفة الآن غامضة لأنها قد تشير فقط إلى الأصلي C-قذيفة، مستشفى الدعم القتالي، 80 00:04:57,320 --> 00:05:01,200 أو لجميع C-قذائف، بما في ذلك tcsh. انها غامضة قليلا. 81 00:05:01,200 --> 00:05:08,250 >> قذيفة في وقت لاحق هو كورن قذيفة، KSh الوحدات، الذي سمي على اسم مبرمج، كورن. 82 00:05:08,250 --> 00:05:14,160 حاول هذا قذيفة على أن تدرج في 1 قذيفة 83 00:05:14,160 --> 00:05:16,960 مزايا C-قذيفة للاستخدام التفاعلي 84 00:05:16,960 --> 00:05:19,230 وبورن قذيفة للبرمجة. 85 00:05:19,230 --> 00:05:25,440 قد تم استخدامها باعتبارها قذيفة التفاعلية من قبل بعض الناس - أقلية. 86 00:05:25,440 --> 00:05:32,050 على الرغم من وقت لاحق، كان هناك مقدمة أخرى، وقذيفة باش، BASH، 87 00:05:32,050 --> 00:05:35,290 مرة أخرى لعب على الكلام، قذيفة بورن مرة أخرى. 88 00:05:35,290 --> 00:05:43,830 انها امتدادا للقذيفة بورن. كورن قذيفة أيضا. كلاهما. 89 00:05:43,830 --> 00:05:48,100 لها نفس أهداف كورن قذيفة من دمج سي شل 90 00:05:48,100 --> 00:05:50,980 والمزايا بورن قذيفة في 1 قذيفة. 91 00:05:50,980 --> 00:05:56,810 يتم تضمين العديد من التحسينات من قذيفة كورن أيضا في باش. 92 00:05:56,810 --> 00:06:00,710 باش، ومع ذلك، لديها اكثر وبالتالي فهو الأفضل. 93 00:06:00,710 --> 00:06:05,180 ومرة أخرى بورن قذيفة وتسمى قذيفة كورن بورن من نوع قذائف 94 00:06:05,180 --> 00:06:07,730 لأنها تتضمن خصائص بورن قذيفة، و 95 00:06:07,730 --> 00:06:11,180 التي تتنافى في بعض النواحي مع C-قذائف. 96 00:06:11,180 --> 00:06:15,520 هناك قذائف أخرى إلى جانب هؤلاء، بعض المعدة للاستخدام مقيد، 97 00:06:15,520 --> 00:06:20,670 ربما تقتصر على بعض الأوامر، وربما أغراض المتخصصة، لا تستخدم في كثير من الأحيان. 98 00:06:20,670 --> 00:06:24,240 حسنا >>. البند التالي هنا. 99 00:06:31,300 --> 00:06:38,970 أصبح باش قذيفة المرتبطة أشكال مختلفة من لينكس. 100 00:06:38,970 --> 00:06:41,550 أنا لست متأكدا مما إذا كان هذا صحيحا من كل شكل. 101 00:06:41,550 --> 00:06:43,280 هناك أشكال كثيرة من هناك وأنا لم تستخدم كل منهم، 102 00:06:43,280 --> 00:06:46,870 ولكن في تلك التي كنت قد استخدمت أصبح يرتبط معها. 103 00:06:46,870 --> 00:06:49,670 حتى الآن ما أعرف، لا يوجد شيء حول باش 104 00:06:49,670 --> 00:06:52,210 الأمر الذي يجعل من أي أكثر توافقا مع لينكس 105 00:06:52,210 --> 00:06:55,020 أكثر من أي مجموعة أخرى من قذيفة ونظام التشغيل. 106 00:06:55,020 --> 00:06:59,690 وأعتقد أن هذا ربما يعكس مجرد الميول من المبرمجين. 107 00:06:59,690 --> 00:07:07,500 أنه أصبح يرتبط مع لينكس هو سبب آخر لتفضيل باش لKSH 108 00:07:07,500 --> 00:07:11,820 منذ الأمور من المحتمل أن تكون مكتوبة في ذلك، وأنه من المرجح أن تنتشر. 109 00:07:11,820 --> 00:07:15,410 سأعطيك أسباب أخرى لذلك في وقت لاحق. 110 00:07:15,410 --> 00:07:21,330 يجب أن البرامج النصية قذيفة بورن تعمل تحت قذيفة كورن أو باش. 111 00:07:21,330 --> 00:07:22,650 إذا كنت أكتب شيئا للصدفة بورن، 112 00:07:22,650 --> 00:07:26,180 ربما يمكنك تنفيذ ذلك تحت KSh الوحدات أو باش. 113 00:07:26,180 --> 00:07:30,610 من المحتمل تشغيل البرامج النصية قذيفة كورن تحت باش، ولكن لا يمكنني ان اضمن ذلك. 114 00:07:30,610 --> 00:07:36,040 في وقت لاحق هنا، يجب تشغيل البرامج النصية C-قذيفة تحت TC-قذيفة. 115 00:07:38,850 --> 00:07:41,690 وفعلا لم تستخدم قط على نطاق واسع في C-قذيفة للبرمجة 116 00:07:41,690 --> 00:07:48,110 منذ بورن قذيفة في وقت لاحق كانت قذائف من نوع بورن الأفضل لهذا الغرض. 117 00:07:48,110 --> 00:07:50,620 لذلك هذا هو حقا ليس كل ما الهامة. 118 00:07:50,620 --> 00:07:53,480 هناك الكثير جدا من بورن البرامج النصية قذيفة التي كانت مكتوبة منذ فترة طويلة، 119 00:07:53,480 --> 00:07:56,860 قبل كورن قذيفة أو قذيفة بورن مرة أخرى أدخلت. 120 00:07:56,860 --> 00:07:59,300 تلك لا تزال قيد الاستخدام، وهي جزء من أنظمة التشغيل، 121 00:07:59,300 --> 00:08:01,590 وهكذا سوف تجد لهم اذا نظرتم في نظام التشغيل 122 00:08:01,590 --> 00:08:03,760 أو بعض الحزم البرمجية القديمة. 123 00:08:03,760 --> 00:08:12,840 >> باش هو إلى حد ما أصبحت نوعا من لغة مشتركة لأنظمة التشغيل. 124 00:08:12,840 --> 00:08:17,580 لقد تم بالفعل تمديده إلى Windows وVMS. 125 00:08:17,580 --> 00:08:20,440 VMS، في حال كنت لا تعرف، هو نظام التشغيل الملكية 126 00:08:20,440 --> 00:08:25,480 من شركة المعدات الرقمية التي لا تزال قيد الاستعمال، إلى حد كبير وراء الكواليس. 127 00:08:25,480 --> 00:08:29,250 وإذا أريد لها أن تكون قيد التشغيل على عدة نظم تشغيل مختلفة، 128 00:08:29,250 --> 00:08:31,110 من المرجح أن الناس يميلون إلى التحول لذلك. 129 00:08:31,110 --> 00:08:33,840 ولكن هذا التطور هو حديث نسبيا. 130 00:08:33,840 --> 00:08:39,490 انها بداية فقط، لذلك لا أستطيع التكهن بما اذا كان هذا سوف تتحول إلى أن تكون حقا هذا النوع من لغة مشتركة. 131 00:08:39,490 --> 00:08:43,539 أيضا، لأن اسم الدليل الملفات والمكتبات تختلف 132 00:08:43,539 --> 00:08:46,210 بين هذه أنظمة تشغيل مختلفة، 133 00:08:46,210 --> 00:08:50,250 قد لا تكون قادرة على كتابة السيناريو باش على نظام تشغيل واحد 134 00:08:50,250 --> 00:08:51,840 ومن ثم تشغيله على بعضها البعض. 135 00:08:51,840 --> 00:08:54,440 يجب أن تكون قادرة على نقلها بين مختلف يونكس، لينكس 136 00:08:54,440 --> 00:08:59,020 أنظمة التشغيل Mac OS ولكن ليس بالضرورة إلى ويندوز أو نظام رصد السفن. 137 00:08:59,020 --> 00:09:01,390 قد تضطر إلى تغيير مسار ملف الأوصاف، 138 00:09:01,390 --> 00:09:03,180 وبعض المكتبات قد تكون مختلفة، 139 00:09:03,180 --> 00:09:05,230 والتي قد تؤثر على الطريقة التي تعمل بعض الأوامر 140 00:09:05,230 --> 00:09:09,730 أو كيف معالجة الحجج وما شابه ذلك. 141 00:09:09,730 --> 00:09:19,230 بالإضافة إلى ذلك، الحذر أخرى هنا هو أن ليس هناك ما يضمن 142 00:09:19,230 --> 00:09:23,570 أن جميع قذائف مختلفة لقد ذكر - بورن قذيفة، C-قذيفة، 143 00:09:23,570 --> 00:09:29,880 TC-قذيفة، كورن قذيفة، قذيفة بورن مرة أخرى - سوف تكون متاحة تحت أي يونكس 144 00:09:29,880 --> 00:09:33,750 أو لينكس أو كمبيوتر ماكنتوش. 145 00:09:33,750 --> 00:09:35,620 انهم ببساطة قد لا يكون هناك. 146 00:09:35,620 --> 00:09:38,300 هذا هو واحد من التحذيرات هنا. 147 00:09:38,300 --> 00:09:41,490 انها الحد المؤسف هنا منذ كنت أحب الأشياء للعمل في كل مكان، 148 00:09:41,490 --> 00:09:44,380 ولكن للأسف، لا يمكنك الاعتماد على ذلك. 149 00:09:44,380 --> 00:09:47,230 حسنا >>. احد القادم هنا. 150 00:09:50,280 --> 00:09:54,370 دعونا نقول ان كنت ترغب في كتابة السيناريو قذيفة، 151 00:09:54,370 --> 00:09:57,170 برنامج يتكون من الأوامر قذيفة. 152 00:09:57,170 --> 00:10:01,200 تكتب الأوامر الخاصة بك، ووضعها في ملف، وتنفيذ الملف. 153 00:10:01,200 --> 00:10:04,230 ما إذا كنت تريد أن تشمل الحجج؟ 154 00:10:04,230 --> 00:10:09,650 في حالة عمليات شركة شل، وتسمى الحجج المعلمات أو معلمات الموضعية 155 00:10:09,650 --> 00:10:15,940 وأنها سوف يتم استدعاؤها بواسطة علامة الدولار والأرقام، 1 دولار، 2 دولار. 156 00:10:15,940 --> 00:10:27,000 لذلك إذا كان لديه النصي هذا الاسم، أول حجتي قد يكون حجة 1 157 00:10:27,000 --> 00:10:30,540 وبلدي الثاني قد يكون حجة 2، 158 00:10:30,540 --> 00:10:34,110 وداخل بلدي النصي إذا أريد أن أشير إلى هذه الأمور - 159 00:10:34,110 --> 00:10:36,810 دعونا محو هذه منذ أنا لا حقا لتشغيله - 160 00:10:36,810 --> 00:10:42,160 داخل بلدي النصي وأنا قد يكون 1 دولار إلى الرجوع إلى ARG1، 161 00:10:42,160 --> 00:10:45,890 2 دولار، والتي سوف يخرج بهذه الطريقة، ARG2. 162 00:10:45,890 --> 00:10:50,080 حتى تتوفر للإشارة إلى الحجج تلك الرموز، 163 00:10:50,080 --> 00:10:52,390 وهذه تنطبق على كل من قذائف. 164 00:10:52,390 --> 00:10:56,520 بالإضافة إلى ذلك، هناك شخصيات أخرى. 165 00:10:56,520 --> 00:11:01,700 $ * يشير إلى القائمة الحجة كله، كل منهم. 166 00:11:01,700 --> 00:11:05,390 $ # يشير إلى عدد من الحجج. 167 00:11:05,390 --> 00:11:07,910 مرة أخرى، وهذا ينطبق على جميع القذائف. 168 00:11:07,910 --> 00:11:15,540 تلك الرموز، * و #، ويمكن استخدامها مع تلك المعاني في أماكن أخرى أيضا. 169 00:11:15,540 --> 00:11:17,940 ونحن لن يكون الحصول في ذلك. 170 00:11:17,940 --> 00:11:20,460 >> شل خط محدد. ما هذا عنه؟ 171 00:11:20,460 --> 00:11:27,760 دعونا نقول لكم لقد كتب السيناريو وانها لقذيفة معينة وتريد تشغيله. 172 00:11:27,760 --> 00:11:33,500 كيف يمكنك أن تعرف ما سوف قذيفة نظام التشغيل استخدامها لتشغيل البرنامج النصي الخاص بك؟ 173 00:11:33,500 --> 00:11:37,230 عند نقطة واحدة هل يمكن أن نفترض أنه سيكون تشغيله في وعاء بورن 174 00:11:37,230 --> 00:11:39,440 إذا كنت لم يقل غير ذلك، 175 00:11:39,440 --> 00:11:41,730 ولكن الناس لا كتابة البرامج النصية في بورن قذيفة أن الكثير بعد الآن 176 00:11:41,730 --> 00:11:43,750 وأنت لا تستطيع حتى تعتمد على ذلك بعد الآن. 177 00:11:43,750 --> 00:11:48,740 حتى هنا لدينا خط محدد قذيفة هنا. 178 00:11:48,740 --> 00:11:52,450 يحدد باش. 179 00:11:52,450 --> 00:11:56,750 نلاحظ أنه يحدد ذلك في مسار، / بن / سحق. 180 00:11:56,750 --> 00:12:02,870 إذا كان لديه جهاز كمبيوتر قذيفة باش ولكن ليس في الدليل بن، / بن، وهذا لن ينجح. 181 00:12:02,870 --> 00:12:06,870 هذا هو آخر مؤهل، والحذر أخرى هنا. 182 00:12:06,870 --> 00:12:09,500 الجنيه هو حرف سطر تعليق. 183 00:12:09,500 --> 00:12:12,300 الذي ينطبق على جميع القذائف. 184 00:12:12,300 --> 00:12:18,610 حالة خاصة هنا، #! في بداية السيناريو، هو حالة خاصة. 185 00:12:18,610 --> 00:12:23,410 يحدد قذيفة فيه لتشغيل البرنامج النصي. 186 00:12:23,410 --> 00:12:30,230 كما كنت أقول، أنه قد لا يكون نفس المكان / بن. 187 00:12:30,230 --> 00:12:34,880 بالإضافة إلى ذلك، هناك شيء آخر هنا. 188 00:12:34,880 --> 00:12:41,250 إذا كنت مجرد استخدام الجنيه مع عدم وجود علامة تعجب واسم المسار، 189 00:12:41,250 --> 00:12:44,640 يجب أن تشير إلى C-قذيفة. 190 00:12:44,640 --> 00:12:48,300 ومع ذلك، وأنا لا أنصح يفعل ذلك لأنني لست قادرة على ضمان 191 00:12:48,300 --> 00:12:49,750 التي من شأنها أن تعمل دائما. 192 00:12:49,750 --> 00:12:52,220 إذا كنت ترغب في C-قذيفة، وسيكون من الأفضل أن يقول ذلك. 193 00:12:52,220 --> 00:12:58,450 ثم هناك شيء مربكة نوعا ما هنا. 194 00:12:58,450 --> 00:13:03,940 إذا كنت تستخدم خط قذيفة محدد مثل / بن / سحق 195 00:13:03,940 --> 00:13:07,070 وأن قذيفة غير متوفرة هناك، 196 00:13:07,070 --> 00:13:10,680 ليس هناك شيء مثل / بن / سحق على هذا الكمبيوتر بالتحديد، 197 00:13:10,680 --> 00:13:14,330 إما لأنه لا يملك باش أو لأنه في موقع مختلف، 198 00:13:14,330 --> 00:13:17,450 ستحصل على خطأ تخبرك أن البرنامج النصي الذي ركض غير موجود. 199 00:13:17,450 --> 00:13:21,510 وبطبيعة الحال وجود السيناريو الخاص بك، بحيث رسالة الخطأ هو مربكة. 200 00:13:21,510 --> 00:13:24,810 السبب أن نظام التشغيل يوفر لك هذا الخطأ 201 00:13:24,810 --> 00:13:28,370 أو، بدقة أكثر، أن قذيفة التفاعلية التي تقوم بتشغيل هذا يعطي هذا الخطأ، 202 00:13:28,370 --> 00:13:33,510 هو أنه يفيد الأمر الذي استخدمته، والذي هو اسم البرنامج النصي. 203 00:13:33,510 --> 00:13:36,920 ودعا هذا الأمر بشكل فعال قذيفة من قبل اسم البرنامج النصي. 204 00:13:36,920 --> 00:13:39,330 حيث ان تحصل تلك الرسالة الخطأ مربكة. 205 00:13:39,330 --> 00:13:42,980 طريقة أخرى لدعوة شيل 206 00:13:42,980 --> 00:13:45,910 هو لتحديد قذيفة على سطر الأوامر، كما هنا. 207 00:13:45,910 --> 00:13:52,510 هذه هي وصية. هذا يقول باش تشغيل ثم قم بتشغيل البرنامج النصي في بلدي باش. 208 00:13:52,510 --> 00:13:55,680 سوف تأخذ الأسبقية على خط محدد، 209 00:13:55,680 --> 00:14:02,090 وهذا له ميزة تسمح لك لتوفير اسم الدليل متفاوتة. 210 00:14:02,090 --> 00:14:04,840 إذا كنت مجرد إعطاء الأوامر، ونظام التشغيل للبحث عن هذا الأمر 211 00:14:04,840 --> 00:14:06,410 في أماكن مختلفة. 212 00:14:06,410 --> 00:14:08,820 إذا كان متوفرا، يجب أن العثور عليه. 213 00:14:08,820 --> 00:14:12,290 سيقوم الكمبيوتر تجد باش أينما انها تقع وتشغيله، 214 00:14:12,290 --> 00:14:15,470 لذلك لا تحتاج بعد ذلك إلى أن تشعر بالقلق إزاء حيث يجد ذلك. 215 00:14:15,470 --> 00:14:17,360 هناك مخاوف محتملة أخرى هنا، 216 00:14:17,360 --> 00:14:20,830 كما لو كان هناك أكثر من 1 نسخة من باش، وهو أمر ممكن على الرغم من غير المرجح. 217 00:14:20,830 --> 00:14:23,540 بحيث طريقة أخرى للتعامل مع هذه الأمور. 218 00:14:23,540 --> 00:14:30,480 يمكن استدعاء أي خطوط محدد قذيفة. 219 00:14:30,480 --> 00:14:34,480 كما أنها يمكن أن نسمي الأشياء الأخرى من قذائف. 220 00:14:34,480 --> 00:14:37,940 والحوار الاقتصادي الاستراتيجي الأمثلة لدي هنا، وهو محرر تيار؛ 221 00:14:37,940 --> 00:14:39,900 AWK، وهي لغة معالجة النمط؛ 222 00:14:39,900 --> 00:14:43,680 وبيرل، لغة برمجة متطورة جدا. 223 00:14:43,680 --> 00:14:47,570 إذا وضعت خط محدد مشيرا إلى واحد من تلك البرامج في البداية، 224 00:14:47,570 --> 00:14:51,270 وسوف تذهب مباشرة إلى هذا البرنامج بدلا من البدء قذيفة. 225 00:14:51,270 --> 00:14:54,030 هذه البرامج لديها حدود لقدراتهم. 226 00:14:54,030 --> 00:14:58,790 بيرل هي قادرة جدا. رسب هو محرر. يمكن أن تفعل أشياء أبعد من مجرد تحرير. 227 00:14:58,790 --> 00:15:03,300 ولكن يمكن أن يكون من الصعب برمجة ذلك. 228 00:15:03,300 --> 00:15:09,670 بالإضافة إلى ذلك، تمرير الوسائط والاشياء الى السيناريو هو إما مستحيلة أو مربكة. 229 00:15:09,670 --> 00:15:15,030 حتى في تلك الحالات، مع AWK أو حوار، انها، على الأقل في تجربتي، 230 00:15:15,030 --> 00:15:18,910 من الأفضل أن يكتب شيل والدعوة AWK أو الحوار الاقتصادي الاستراتيجي من شيل 231 00:15:18,910 --> 00:15:24,660 بدلا من استدعاء AWK أو الحوار الاقتصادي الاستراتيجي كخط النصي محدد. 232 00:15:24,660 --> 00:15:26,980 بيرل هي لغة متنوعة للغاية، كما قلت. 233 00:15:26,980 --> 00:15:30,050 لا يمكنك تشغيل الأوامر التفاعلية في بيرل، 234 00:15:30,050 --> 00:15:32,660 وهو ما يعني أنه لا يمكن اختبار أجزاء من النصوص التي كنت النامية 235 00:15:32,660 --> 00:15:33,970 قبل تشغيلها بشكل تفاعلي. 236 00:15:33,970 --> 00:15:36,160 ومع ذلك، انها لغة قادرة للغاية 237 00:15:36,160 --> 00:15:40,960 وتطورت لتصبح أداة تستخدم على نطاق واسع جدا. 238 00:15:40,960 --> 00:15:45,720 هذا مجرد قليلا من ملاحظة قوسين حول خطوط محدد. 239 00:15:45,720 --> 00:15:50,610 >> في كل أو معظم أشكال لينكس - مرة أخرى، وأنا لا يمكن أن تكون على يقين من أن كل شيء - 240 00:15:50,610 --> 00:15:57,900 ونظام التشغيل Mac OS، إذا قمت بكتابة مستشفى الدعم القتالي تحصل tcsh، 241 00:15:57,900 --> 00:16:00,570 وإذا قمت بكتابة ركلات الترجيح تحصل باش. 242 00:16:00,570 --> 00:16:05,020 كانوا يحاولون هناك لتعطيك نسخة أكثر تطورا من هذه القذائف، 243 00:16:05,020 --> 00:16:07,940 ولكن هذا يمكن أن يكون مربكا. 244 00:16:07,940 --> 00:16:16,720 إذا كنت أكتب نصي باستخدام tcsh أو باش يتميز بينما يدعو مستشفى الدعم القتالي او ركلات الترجيح 245 00:16:16,720 --> 00:16:22,230 وحاول لتشغيله على جهاز الكمبيوتر الذي لا يملك tcsh أو باش، 246 00:16:22,230 --> 00:16:25,050 قد تحصل بعض الأخطاء إذا كانت هناك أوامر في هناك 247 00:16:25,050 --> 00:16:27,970 تلك التي لا تعترف قذائف. 248 00:16:27,970 --> 00:16:34,120 بالإضافة إلى ذلك، قد يكون لديك استدعاؤهم قذيفة على الكمبيوتر المحلي الخاص بك 249 00:16:34,120 --> 00:16:37,700 واصفا إياه كما SH أو مستشفى الدعم القتالي ومن ثم الحصول على قذائف أكثر تقدما. 250 00:16:37,700 --> 00:16:41,440 قد لا تفكر في حقيقة أن كنت تستخدم قذيفة أكثر تقدما. 251 00:16:41,440 --> 00:16:45,670 لذلك هذا هو شرك المحتملة. 252 00:16:45,670 --> 00:16:50,290 كيف يتم إثبات أن إذا قمت بكتابة ركلات الترجيح تحصل باش، 253 00:16:50,290 --> 00:16:55,580 إذا قمت بكتابة مستشفى الدعم القتالي تحصل TSCH؟ 254 00:16:55,580 --> 00:16:59,940 هناك أشياء في هذه الحواسيب تسمى الروابط 255 00:16:59,940 --> 00:17:06,460 التي يمكن الاتصال إلى ملف أسماء للإشارة إلى نفس الشيء. 256 00:17:06,460 --> 00:17:12,180 يمكن أن يكون إما 2 أسماء لنفس الملف أو ملف الذي يهدف إلى الرجوع إلى ملف آخر. 257 00:17:12,180 --> 00:17:17,550 انهم يسمى ارتباطات ثابتة ورمزية. نحن لن الخوض في ذلك بعد الآن اليوم. 258 00:17:17,550 --> 00:17:21,619 قد يكون هناك أيضا ملفات منفصلة - 1 ملف ش، 1 ملف باش - 259 00:17:21,619 --> 00:17:23,880 ولكن كلاهما تشغيل باش. 260 00:17:23,880 --> 00:17:29,350 ثم هناك تصفيات أخرى هنا. 261 00:17:29,350 --> 00:17:42,640 إذا كنت استدعاء إحدى هذه القذائف اسم واحد، 262 00:17:42,640 --> 00:17:46,640 قد تعتقد أنك سوف تحصل على نفس الوظائف ك اصفا اياه بالاسم أخرى. 263 00:17:46,640 --> 00:17:49,700 حسنا، هذا ليس صحيحا في الواقع بالضرورة. 264 00:17:49,700 --> 00:17:55,020 ويمكن لهذه الأوامر فحص الاسم الذي كانت تسمى 265 00:17:55,020 --> 00:18:00,020 ويمكن أن، على أساس أن اسم، تتصرف بشكل مختلف. 266 00:18:00,020 --> 00:18:02,740 قد تكون هناك قضايا من محاولة لتتوافق مع معيار. 267 00:18:02,740 --> 00:18:06,060 البعض منكم قد سمعت من معيار POSIX أو لآخر، 268 00:18:06,060 --> 00:18:08,730 ربما غيرها من الميزات. 269 00:18:08,730 --> 00:18:14,520 يمكن تحديد هذا في بعض الأحيان من قبل وسائط سطر الأوامر 270 00:18:14,520 --> 00:18:17,310 أو عن طريق وضع المتغيرات قذيفة. 271 00:18:17,310 --> 00:18:22,170 الدعوة بأنها ش باش أو قد يؤدي في الواقع إلى تنفيذ مختلف 272 00:18:22,170 --> 00:18:25,300 حتى لو كان نفس الملف الذي كنت المنفذة. 273 00:18:25,300 --> 00:18:31,800 شيء آخر للنظر هو أنه حتى لو جهاز كمبيوتر آخر لديه tcsh أو باش، 274 00:18:31,800 --> 00:18:35,310 إذا لم تكن مرتبطة كما هي على الكمبيوتر المحلي 275 00:18:35,310 --> 00:18:37,990 إذا كان لديك الكمبيوتر المحلي لينكس أو نظام التشغيل Mac OS، 276 00:18:37,990 --> 00:18:45,630 ثم مرة أخرى ستحصل على القذيفة التي يمكنك استدعاء SH أو مستشفى الدعم القتالي، وليس تلك التي قد تفضل. 277 00:18:50,430 --> 00:19:01,130 التيار بورن قذيفة ديه التحسينات أقل من تلك الموجودة في باش 278 00:19:01,130 --> 00:19:06,100 ولكن في الماضي تلك بورن الأصلي قذيفة. 279 00:19:06,100 --> 00:19:09,690 نتيجة لذلك، حتى بورن قذيفة الحالية، ش، 280 00:19:09,690 --> 00:19:14,560 حتى عندما لا يكون باش، تشبه لغة C أكثر من C-قذيفة لا. 281 00:19:14,560 --> 00:19:20,460 لم يكن ذلك صحيحا عندما تم إنشاء C-القذيفة الأولى، لكنها وضعت على هذا النحو. 282 00:19:20,460 --> 00:19:26,560 كنت قد لاحظت هنا أن جميع أسماء هذه قذيفة باستثناء قذيفة بورن 283 00:19:26,560 --> 00:19:30,640 لديك شيء للإشارة إلى أي قذيفة هم - مستشفى الدعم القتالي، باش - 284 00:19:30,640 --> 00:19:32,550 ولكن بورن قذيفة هو مجرد ش. 285 00:19:32,550 --> 00:19:34,910 لماذا؟ وكان أن قذيفة الأصلي. 286 00:19:34,910 --> 00:19:37,770 وكان قذيفة ثم، لا قذيفة، 287 00:19:37,770 --> 00:19:41,090 ونظرا لأنه كان وعاء، وليس هناك أي سبب لتمييزه عن قذيفة أخرى. 288 00:19:41,090 --> 00:19:45,030 ولهذا السبب كان لديه هذا الاسم لا يزال و. 289 00:19:50,630 --> 00:19:58,990 هذا أعلى >> هنا هو خط من قاعدة بيانات كلمة المرور لحساب لدي هناك 290 00:19:58,990 --> 00:20:01,680 على كمبيوتر آخر. 291 00:20:01,680 --> 00:20:08,300 انا ذاهب الى محاولة للحصول على هذا الاسم حتى تستطيع أن ترى هذا الجزء في نهاية، وقذيفة. 292 00:20:09,720 --> 00:20:15,450 يحمل قاعدة بيانات كلمة السر خصائص تسجيل الدخول لجميع المستخدمين. 293 00:20:15,450 --> 00:20:20,330 في بداية هو المستخدم، والتي تستطيع أن ترى في خطابات 2 مشاركة لي الآن. 294 00:20:20,330 --> 00:20:23,970 يتم فصل الحقول هنا من قبل كولون. 295 00:20:23,970 --> 00:20:28,210 الحقل الأخير، وكما ترون، هو بن / tcsh، وقذيفة. 296 00:20:28,210 --> 00:20:30,230 هذا هو محدد قذيفة. 297 00:20:30,230 --> 00:20:33,240 هناك شيء مثير للاهتمام هنا. 298 00:20:33,240 --> 00:20:36,950 عندما وضعت أول يونكس، لم يكن هناك سوى 1 قذيفة، 299 00:20:36,950 --> 00:20:38,350 لذلك لم يكن هناك خيار هناك. 300 00:20:38,350 --> 00:20:45,570 فلماذا يسمحون حقل في قاعدة بيانات كلمة السر لتحديد قذيفة؟ 301 00:20:45,570 --> 00:20:47,920 أنا لا أعرف، ولكن من حسن الحظ أن فعلوا ذلك. 302 00:20:47,920 --> 00:20:52,030 انها صعبة نوعا ما لإجراء تغييرات في شكل قاعدة بيانات كلمة السر 303 00:20:52,030 --> 00:20:54,420 لأن العديد من برامج الرجوع إلى شكله 304 00:20:54,420 --> 00:20:57,720 ويجب أن تكون إعادة كتابة. 305 00:20:57,720 --> 00:21:04,130 انها تنمية السعيدة أو محاسن أنها شملت هذا المجال. 306 00:21:04,130 --> 00:21:12,780 ويستخدم هذا النوع من خط ملف كلمة المرور على كافة أجهزة الكمبيوتر يونكس ولينكس حتى الآن ما أعرف. 307 00:21:12,780 --> 00:21:14,650 ماك لديها نظامها الخاص. 308 00:21:14,650 --> 00:21:17,810 انها فعلا ملف كلمة المرور مع خطوط في هذا الشكل، 309 00:21:17,810 --> 00:21:21,060 ولكن هذا ليس حيث يتم تعريف خصائص المستخدم. 310 00:21:21,060 --> 00:21:24,200 آخر تصريحات قوسين هناك. 311 00:21:36,470 --> 00:21:46,020 >> إذا كنت تتصل قذيفة، يمكنك تسميتها كما قذيفة فرعية من قذائف الموجودة لديك. 312 00:21:46,020 --> 00:21:50,480 حتى إذا ذهبت هنا، دعونا نتخلص من هذه الأشياء. 313 00:21:50,480 --> 00:21:53,350 أنا هنا في C-قذيفة. 314 00:21:56,830 --> 00:22:01,200 هذا المتغير، الذي يحدد بدقة بلدي شل، 315 00:22:01,200 --> 00:22:04,300 في الواقع ليست دائما وسيلة يمكن الاعتماد عليها لتحديد ما كنت قذيفة على التوالي، 316 00:22:04,300 --> 00:22:06,220 ولكن في هذه الحالة هو عليه. 317 00:22:06,220 --> 00:22:08,040 ماذا لو أنا فقط اكتب - 318 00:22:09,970 --> 00:22:12,470 الآن أنا في باش. 319 00:22:12,470 --> 00:22:19,540 بعض الامور تسير لتكون هي نفسها. ليرة سورية يقول لي وصاياي. 320 00:22:19,540 --> 00:22:24,500 إذا أنا لا تعليق على العودة الى بلدي C-قذيفة، ليرة سورية، نفسه. أليس كذلك؟ 321 00:22:24,500 --> 00:22:28,890 FG، المقدمة، والعودة إلى بلدي باش قذيفة. 322 00:22:28,890 --> 00:22:38,290 الأشخاص ذوي الإعاقة، الدليل الحالي، والعودة إلى C-قذيفة. 323 00:22:38,290 --> 00:22:43,180 الأشخاص ذوي الإعاقة، دليل مختلف - في الواقع ليست دليل مختلف في هذه الحالة. 324 00:22:43,180 --> 00:22:45,110 انها نفس الدليل. 325 00:22:45,110 --> 00:22:50,000 دعنا نقول أريد أن أدعو أمر هنا: حيث ليرة سورية. 326 00:22:50,000 --> 00:22:52,140 ماذا تفعل ذلك؟ 327 00:22:52,140 --> 00:22:53,670 يقول لي فيها قيادة ليرة سورية، 328 00:22:53,670 --> 00:22:56,670 يقع واحد أن يعطيني سرد ​​الدليل، في ليرة سورية. 329 00:22:56,670 --> 00:23:01,460 دعونا نعود إلى باش قذيفة. دعونا نحاول نفس الشيء. 330 00:23:01,460 --> 00:23:05,830 هم، مثيرة للاهتمام هناك، حيث: الأمر غير موجود. 331 00:23:05,830 --> 00:23:07,400 لماذا؟ 332 00:23:07,400 --> 00:23:11,570 حيث يتم بناء الأوامر في لC-قذيفة. 333 00:23:11,570 --> 00:23:15,630 هذا ليس الأمر الذي لابد من قراءة في الذاكرة من مكان آخر وأعدم. 334 00:23:15,630 --> 00:23:20,310 سي قذيفة يعمل عليه عن طريق نقل التنفيذ إلى جزء من التعليمات البرمجية الخاصة به 335 00:23:20,310 --> 00:23:22,790 وانها ليست في باش قذيفة. 336 00:23:22,790 --> 00:23:25,710 حتى باش، وليس وجود مثل هذا الأمر في البناء، يبدو لذلك، لا تجد، 337 00:23:25,710 --> 00:23:27,720 ونحصل على خطأ. 338 00:23:27,720 --> 00:23:32,290 حتى لا يكون هناك لدينا قذيفة باش التشغيل ضمن C-قذيفة، وندعو أن قذيفة الفرعية. 339 00:23:32,290 --> 00:23:38,480 وفقط في حال كنت غريبة، باش قذيفة لديها طريقتها الخاصة في تحديد الأوامر. 340 00:23:38,480 --> 00:23:42,590 يشير المجزأة إلى حقيقة أنه يمكن تنفيذها بسرعة أكبر، 341 00:23:42,590 --> 00:23:44,960 يتم العثور بسرعة أكبر. 342 00:23:44,960 --> 00:23:48,610 هذا هو واحد من التحسينات التي بنيت في بعض من هذه القذائف. 343 00:23:50,220 --> 00:23:54,200 ويفضل بورن >> من نوع قذائف للبرمجة. 344 00:23:54,200 --> 00:23:57,300 لديهم هياكل المراقبة مثل الحلقات، وعبارات الشرطي، 345 00:23:57,300 --> 00:24:00,240 هذا النوع من الأوامر التي قد تستخدم في لغات البرمجة مثل C 346 00:24:00,240 --> 00:24:04,190 أو أي لغة. ربما كنت البرمجة بلغة جافا أو أيا كان. 347 00:24:04,190 --> 00:24:06,460 قذائف يكون هؤلاء أيضا. 348 00:24:06,460 --> 00:24:11,790 قذائف بورن من نوع، ولا سيما باش، لديها أكثر 349 00:24:11,790 --> 00:24:15,730 وأنها مصممة مع قدر أكبر من المرونة. 350 00:24:15,730 --> 00:24:20,700 باش قذيفة ديه المصفوفات. وبورن الأصلي قذيفة لا. 351 00:24:20,700 --> 00:24:26,130 بحيث يمكن أن تكون مفيدة بشكل كبير للبرمجة. 352 00:24:26,130 --> 00:24:29,810 سي قذيفة في الواقع لا يكون المصفوفات ولكن ليس لديها الكثير من هذه الميزات الأخرى. 353 00:24:29,810 --> 00:24:33,450 سوف قذائف من نوع بورن تنفيذ أسرع 354 00:24:33,450 --> 00:24:36,520 إذا لم يكن لديهم الميزات التفاعلية المعدة للاستخدام. 355 00:24:36,520 --> 00:24:39,340 قمت بتحميل الأمور لغرض واحد، وهذا يحمل عليهم لغرض آخر. 356 00:24:39,340 --> 00:24:41,520 أن هناك مفاضلة هناك. 357 00:24:41,520 --> 00:24:44,510 تلك الميزات التي تهدف للاستخدام التفاعلي 358 00:24:44,510 --> 00:24:46,920 هي في الواقع من استخدام ضئيلة أو معدومة للبرمجة. 359 00:24:46,920 --> 00:24:52,160 فمن الممكن لاستخدام تفاعلية قذيفة الفرعية فقط مثل واحد بدأت هناك 360 00:24:52,160 --> 00:24:57,780 لاختبار الأوامر التي كنت تنوي استخدامها في برنامج نصي. 361 00:24:57,780 --> 00:25:01,180 هذا ما لا يمكنك أن تفعل مع بيرل. يمكنك أن تفعل ذلك مع قذائف. 362 00:25:01,180 --> 00:25:04,850 يمكن تشغيل حتى الهياكل مثل لحلقات وهكذا دواليك بشكل تفاعلي. 363 00:25:04,850 --> 00:25:07,000 فهي مفيدة في بعض الأحيان إلى تشغيل تفاعلي، 364 00:25:07,000 --> 00:25:10,180 ولكن على الأرجح كنت تستخدم لهم لتطوير السيناريو. 365 00:25:15,690 --> 00:25:17,400 >> أسماء مستعارة. 366 00:25:17,400 --> 00:25:21,630 هذه ستكون حول C-قذيفة. 367 00:25:23,270 --> 00:25:27,570 آلية التاريخ، حيث تحصل إلى الأوامر في وقت سابق 368 00:25:27,570 --> 00:25:30,340 أو أجزاء منها بعد أن قمت بتشغيل بالفعل. 369 00:25:30,340 --> 00:25:33,680 مرة أخرى، حول C-قذيفة، قذيفة بورن وكورن قذيفة لديك هذه الأشياء، 370 00:25:33,680 --> 00:25:35,620 ولكن أنا لن تحصل فيها. 371 00:25:35,620 --> 00:25:40,340 حتى هنا بعض الأسماء المستعارة المفيدة التي لدي. 372 00:25:43,100 --> 00:25:44,880 بدلا من كتابة ليرة سورية - انها أمر شائع - 373 00:25:44,880 --> 00:25:47,620 فقط اكتب لتر وتنقذ نفسك 1 حرف. 374 00:25:47,620 --> 00:25:50,600 ليرة سورية مع خيارات مختلفة، كل تلك الأعمال. 375 00:25:50,600 --> 00:25:54,460 نلاحظ أن تلك التعاريف ديك يقتبس من حولهم. 376 00:25:54,460 --> 00:25:57,520 في هذه الحالات، ويقتبس ليست ضرورية. 377 00:25:57,520 --> 00:26:00,100 إذا كان يمكنك تحديد تلك الأسماء المستعارة دون أن يستشهد، فإنه لا تزال تعمل. 378 00:26:00,100 --> 00:26:02,910 وأوصوا. 379 00:26:02,910 --> 00:26:04,900 هناك حالات حيث لا يمكنك استخدام الاقتباس 380 00:26:04,900 --> 00:26:08,050 لأنك تريد أن يحدث شيء الذي من شأنه أن يمنع الاقتباس. 381 00:26:08,050 --> 00:26:11,210 في بعض الأحيان يمكنك أقتبس جزءا من تعريف ولكن ليس كل من هو. 382 00:26:11,210 --> 00:26:17,010 هو أيضا يوصى بها عموما لاستخدام علامات الاقتباس المفردة بدلا من علامات الاقتباس المزدوجة. 383 00:26:17,010 --> 00:26:19,750 علامات الاقتباس المزدوجة لها آثار على تعريفات المتغير، 384 00:26:19,750 --> 00:26:22,950 وخاصة مما يسبب لهم ليتم تقييمها بدلا من منعها. 385 00:26:22,950 --> 00:26:25,910 لماذا نريد لوقف التقييم؟ 386 00:26:25,910 --> 00:26:28,710 وكيف نفعل ذلك نقلت لنا؟ 387 00:26:28,710 --> 00:26:32,600 >> هنا هو أمر التي قد تجد مثيرة للاهتمام. 388 00:26:32,600 --> 00:26:35,470 'ز * ليرة سورية " 389 00:26:35,470 --> 00:26:37,640 ز *، كما تعلمون، هو تعبير البدل 390 00:26:37,640 --> 00:26:40,290 لجميع أسماء الملفات التي تبدأ ب ز. 391 00:26:40,290 --> 00:26:46,410 إذا أنا فقط أكتب في الأمر ls ز *، وأنا سوف تحصل على قائمة بجميع تلك الأسماء في الدليل بلدي الحالي. 392 00:26:46,410 --> 00:26:50,870 إذا كنت تعرف أن الاسم المستعار كما هو هنا مع علامات الاقتباس، 393 00:26:50,870 --> 00:26:56,990 فستعمل هذا الأمر في الدليل الحالي الخاص بك حيث كنت تشغيله. 394 00:26:56,990 --> 00:27:01,250 ولكن إذا قمت بتشغيل تعريف اسم مستعار دون أن يستشهد، 395 00:27:01,250 --> 00:27:09,620 فإنه سيتم تقييم البدل ز * عند تشغيله هذا الأمر حاسمة. 396 00:27:09,620 --> 00:27:14,400 وبالتالي فإن تعريف الاسم المستعار سيتم يرة سورية تليها قائمة الملفات في الدليل 397 00:27:14,400 --> 00:27:16,310 التي يتم فيها تنفيذ الأمر الاسم المستعار، 398 00:27:16,310 --> 00:27:19,180 بغض النظر عن المكان الذي تنوي فعلا لتشغيل الأمر. 399 00:27:19,180 --> 00:27:26,360 هذه ليست ذات فائدة كبيرة، وعلامات الاقتباس المفردة منع تقييم النجمة. 400 00:27:26,360 --> 00:27:30,780 لذلك أنت فقط الحصول على تعريف كائن ليرة سورية ز *. 401 00:27:30,780 --> 00:27:35,510 ثم عند تشغيل مستعار، LGS، فإنه ثم يضع أنه من أصل. 402 00:27:35,510 --> 00:27:40,490 الآن لا توجد علامات الاقتباس، وأنها سوف تقيم النجمة عند تشغيل الأمر الاسم المستعار. 403 00:27:40,490 --> 00:27:43,900 بحيث شيء واحد. 404 00:27:43,900 --> 00:27:46,590 أن التنصيص يكون هذا التأثير نفسه هنا، 405 00:27:46,590 --> 00:27:50,580 ولكن هناك حالات أخرى حيث أن التنصيص لا تعمل على ما يرام. 406 00:27:50,580 --> 00:27:52,450 >> هنا هو واحد آخر. 407 00:27:52,450 --> 00:27:54,270 هل يمكن أن نعرف الأمر البقرى. 408 00:27:54,270 --> 00:28:02,110 يمكن استخدام الأمر البقرى لمسح ملف للخطوط التي لديها بعض السلاسل. 409 00:28:02,110 --> 00:28:10,350 لذلك دعونا نذهب أكثر من هنا وأنا الخروج من بلدي شل بورن. 410 00:28:23,570 --> 00:28:25,450 بخير. وهنا ملف. 411 00:28:25,450 --> 00:28:31,490 دعنا نقول انها البقرى سلاسل حروف. هناك هو عليه. 412 00:28:31,490 --> 00:28:37,930 إذا كنت تفعل zddd البقرى، وأحصل على أي شيء. بخير. 413 00:28:37,930 --> 00:28:40,960 لذلك يجد سلسلة، فإنه تقارير، بل لا يجد، فإنه لا يعلم ذلك. 414 00:28:40,960 --> 00:28:44,930 ذلك بإخراج أي الخط الذي لديه هذه السلسلة على ذلك. 415 00:28:44,930 --> 00:28:49,080 هناك كل أنواع من الخيارات هنا والتي يمكنك أن تجد في الوثائق. 416 00:28:49,080 --> 00:28:52,160 هنا طريقة واحدة للقيام بذلك. 417 00:28:52,160 --> 00:29:03,290 ماذا عن هذا واحد، الاسم المستعار grabc 'البقرى اي بي سي "؟ 418 00:29:03,290 --> 00:29:09,000 وهذا ما سوف تشمل 1 حجة عند تعريف الاسم المستعار. 419 00:29:09,000 --> 00:29:26,300 حتى لو كنت تفعل ذلك هنا، والآن إذا كنت تفعل grabc، 420 00:29:26,300 --> 00:29:30,620 الآن الاسم المستعار تشمل أكثر من مجرد أمر بسيط. كما أن لديها حجة. 421 00:29:30,620 --> 00:29:32,190 حتى الآن أن يعمل. 422 00:29:32,190 --> 00:29:38,590 لدي أمر آخر هنا، هذا واحد، حتى تلك هي سلاسل مختلفة في هناك 423 00:29:38,590 --> 00:29:46,790 وتبين أن هذا لا تجد أي شيء هناك لأنه لا يطابق. 424 00:29:46,790 --> 00:29:56,180 >> ماذا لو أريد أن تدرج في تعريف الاسم المستعار الملف الذي أنا ذاهب للبحث 425 00:29:56,180 --> 00:30:02,970 وأريد أن أعطي كوسيطة إلى الاسم المستعار السلسلة التي أنا أبحث عنه؟ 426 00:30:02,970 --> 00:30:08,040 وأود أن أقول ABC كوسيطة إلى الاسم المستعار الخاص بي، 427 00:30:08,040 --> 00:30:10,870 ولكن الاسم المستعار حددت بالفعل الملف. 428 00:30:10,870 --> 00:30:15,710 وهذا هو المكان الذي يأتي هذا التعبير فيه. 429 00:30:20,430 --> 00:30:25,270 لاحظ هنا لدينا البقرى تماما مثل قبل. 430 00:30:25,270 --> 00:30:28,130 لدينا ملف هنا، سلاسل. 431 00:30:28,130 --> 00:30:35,610 \ ^، نوع من التعبير الغريب، أفترض، إذا كنت لم أر هذا من قبل. 432 00:30:35,610 --> 00:30:39,920 تعجب هو جزء من آلية التاريخ C-قذيفة. 433 00:30:39,920 --> 00:30:45,220 ويمكن ان نذكر الأوامر في وقت سابق، ويمكن ان نذكر الحجج لتلك الأوامر وهكذا دواليك. 434 00:30:46,760 --> 00:31:01,570 يتم استخدام آلية التاريخ كجزء من التعرجات. 435 00:31:01,570 --> 00:31:07,390 إذا قمت بتحديد السطر بعد علامة التعجب، وسوف أشير إلى هذا الخط في قائمة التاريخ، 436 00:31:07,390 --> 00:31:11,910 ونحن لن يكون الدخول الآن لأنه موضوع مختلف تماما. 437 00:31:11,910 --> 00:31:16,280 فمن الممكن لتحديد جزء من الخط. 438 00:31:16,280 --> 00:31:22,950 حتى 03:02! سيكون الوسيطة الثانية من الأمر رقم 3. 439 00:31:22,950 --> 00:31:30,430 والإقحام هنا في هذا التعبير لتقف على الوسيطة الأولى. 440 00:31:30,430 --> 00:31:34,410 إذا كنت لا تعطيه مؤشرا الأمر الذي كنت في اشارة الى، 441 00:31:34,410 --> 00:31:37,300 فإنه يشير إلى الأمر السابق على الفور، 442 00:31:37,300 --> 00:31:41,990 والإقحام هو رمز للالوسيطة الأولى. 443 00:31:41,990 --> 00:31:46,820 لأنها الإقحام وليس العدد، لا تحتاج إلى استخدام القولون، 444 00:31:46,820 --> 00:31:52,660 حتى! ^ يعني الوسيطة الأولى إلى الأمر السابق. 445 00:31:52,660 --> 00:31:55,020 يخلط قليلا هنا. 446 00:31:55,020 --> 00:31:58,450 في هذه الحالة، عند استخدام هذا بمثابة تعريف الاسم المستعار، 447 00:31:58,450 --> 00:32:04,650 المرجع التاريخ يشير إلى الأوامر التي يتم استخدام الاسم المستعار. 448 00:32:04,650 --> 00:32:08,470 لذلك هذا هو العودة 1 القيادة كعملية التاريخ، 449 00:32:08,470 --> 00:32:11,810 ولكن كعملية الاسم المستعار يشير إلى الأمر الذي ستكتب، 450 00:32:11,810 --> 00:32:14,780 أقول، grstrings_file. 451 00:32:17,440 --> 00:32:20,240 لدينا هنا يقتبس في ذلك. ما هو مائل لل؟ 452 00:32:20,240 --> 00:32:30,810 في هذه الحالة، كما في أماكن أخرى، ونحن لا نريد لتنفيذ آلية التاريخ 453 00:32:30,810 --> 00:32:33,680 مع تحديد الاسم المستعار. 454 00:32:33,680 --> 00:32:37,900 إذا لم يكن لدينا مائل هناك، فإن قذيفة سحب في الوسيطة الأولى 455 00:32:37,900 --> 00:32:41,870 الأمر الحق قبل أن يدير هذا الأمر اسم مستعار، وهو ما لا تريد. 456 00:32:41,870 --> 00:32:47,520 نحن نريد من هذه التي سيتم بناؤها في الأمر أن الاسم المستعار لاستدعاء حجة في وقت لاحق. 457 00:32:47,520 --> 00:32:53,550 ونقلت واحد لا الهروب تعجب، فإن الإشارة التاريخ. 458 00:32:53,550 --> 00:32:57,450 ربما كنت تعرف الهروب التعبير وسيلة لتغيير معنى لشيء ما. 459 00:32:57,450 --> 00:33:00,260 في هذه الحالة، فإن ذلك يعني شيئا لوقف من وجود معنى خاص. 460 00:33:00,260 --> 00:33:03,030 معنى خاص تعجب هو التاريخ. 461 00:33:03,030 --> 00:33:05,790 الهرب وأنه ليس لديه هذا المعنى. 462 00:33:05,790 --> 00:33:08,080 ونقلت لا تفعل ذلك؛ مائل يفعل. 463 00:33:08,080 --> 00:33:11,900 لذلك نحن في الواقع باستخدام مستويات 2 من الهروب هنا. 464 00:33:23,500 --> 00:33:29,620 أنا ذاهب لنقل هذا الأمر إلى إطار آخر دون كتابتها 465 00:33:29,620 --> 00:33:35,210 باستخدام هذه العمليات والتحرير، والتي قد تجد مفيدة. 466 00:33:40,620 --> 00:33:42,460 شيء آخر هنا سوف تظهر لك. 467 00:33:42,460 --> 00:33:46,730 إذا كنت فقط اكتب الاسم المستعار بدون وسائط، فإنه يقول لك كل ما تبذلونه من الحجج. 468 00:33:46,730 --> 00:33:48,640 هذا هو مجموعة من الأسماء المستعارة أنا بالفعل كان هنا 469 00:33:48,640 --> 00:33:53,400 إلى جانب تلك التي لقد تم استخدام هنا اليوم. 470 00:33:53,400 --> 00:34:00,220 ولكن إذا أنا فقط اكتب مع اسم مستعار، فإنه يقول لي ما يعنيه. 471 00:34:00,220 --> 00:34:03,390 تلاحظ أن يقتبس ولت وذهبت مائل. 472 00:34:03,390 --> 00:34:08,620 هذه السلسلة هنا هو نتيجة لهذا التعريف الاسم المستعار، 473 00:34:08,620 --> 00:34:12,199 والآن لديها فقط! ^ فيه. 474 00:34:12,199 --> 00:34:19,150 وهذا ما سوف ننظر في سلاسل ملف عن أي شيء. 475 00:34:19,150 --> 00:34:34,900 حتى لو كنت تفعل سلاسل grstrings_file، وأنا لم تعطيه أي شيء للبحث عن هناك، 476 00:34:34,900 --> 00:34:37,429 لكنه يبحث في السلاسل. 477 00:34:37,429 --> 00:34:42,330 أنها لم تجد السلاسل كلمة في سلاسل الملف، ولكنه لا يجد اي بي سي. 478 00:34:42,330 --> 00:34:46,770 وأنها لا تجد ذلك. 479 00:34:46,770 --> 00:34:52,330 حتى هنا نعطي حجة أن يضرب في تعريف الاسم المستعار، 480 00:34:52,330 --> 00:34:55,530 التي يتم إدراجها فيه. 481 00:34:55,530 --> 00:34:58,540 انها المكان الذي يأتي هذا التعبير من بينها. 482 00:34:58,540 --> 00:35:00,240 يمكنك استخدام أكثر من 1. 483 00:35:00,240 --> 00:35:03,170 والإقحام هو رمز للالوسيطة الأولى. 484 00:35:03,170 --> 00:35:07,510 إذا أردت استخدام الوسيطة الثانية، وكنت ثم يقول: 2. 485 00:35:07,510 --> 00:35:11,250 ليس هناك رمز خاص لالوسيطة الثانية. 486 00:35:11,250 --> 00:35:14,790 ولأن كنت تستخدم الأرقام، سيكون لديك لاستخدام القولون. 487 00:35:14,790 --> 00:35:17,220 هناك، ومع ذلك، خيار آخر هنا. 488 00:35:17,220 --> 00:35:21,220 علامة الدولار تقف على الحجة الماضي. 489 00:35:21,220 --> 00:35:23,320 ولأن هذا هو رمز، يمكنك حذف القولون. 490 00:35:23,320 --> 00:35:25,870 لذلك سيكون حجة الأخير في القائمة. 491 00:35:25,870 --> 00:35:27,900 وهناك أيضا أن واحدا. 492 00:35:27,900 --> 00:35:31,380 النجمة يعني كل، لذلك هذا هو حجة قائمة كاملة، 493 00:35:31,380 --> 00:35:35,150 ومرة أخرى، يمكنك حذف القولون لأنها ليست الأرقام. 494 00:35:36,970 --> 00:35:39,950 آمل كنت مراقبة جميع كل هذا. 495 00:35:39,950 --> 00:35:54,100 آلية >> التاريخ يمكن أن نعود إلى خطوط في وقت سابق في قائمة التاريخ. 496 00:35:54,100 --> 00:36:01,370 هل يمكن أن تفعل ذلك في تعريف الاسم المستعار. 497 00:36:01,370 --> 00:36:02,950 أنا لم أر قط هذا المنجز. 498 00:36:02,950 --> 00:36:05,840 كان يمكن أن يكون تأثير سحب الأوامر في وقت سابق من قائمة التاريخ 499 00:36:05,840 --> 00:36:08,130 عند تنفيذ الاسم المستعار، والتي يمكن أن تكون أوامر مختلفة 500 00:36:08,130 --> 00:36:11,240 اعتمادا على متى وأين كنت تنفيذه. 501 00:36:11,240 --> 00:36:14,020 تصور أنك قد ترغب في سحب هذه الإشارة 502 00:36:14,020 --> 00:36:15,900 فقط أن نعرف ما كان أمر في وقت سابق. 503 00:36:15,900 --> 00:36:17,280 أنا لم أر قط ذلك. 504 00:36:17,280 --> 00:36:19,970 أفترض شخص قد ترغب في، ولكن هذا من المستبعد جدا. 505 00:36:19,970 --> 00:36:26,480 هناك شيء آخر هنا. 506 00:36:26,480 --> 00:36:33,060 إذا كنت تستخدم هذا التاريخ من نوع المرجعية، 507 00:36:33,060 --> 00:36:38,190 ثم يتم استخدام سوى الحجج التي تكون هناك مثل هذه الإشارة. 508 00:36:38,190 --> 00:36:42,180 إذا كان لديك تعريف الاسم المستعار الذي لا استخدام مرجع التاريخ من نوع، 509 00:36:42,180 --> 00:36:44,060 إذا أصبح مجرد بداية الأمر 510 00:36:44,060 --> 00:36:46,520 وكان لديك المزيد من الحجج، ثم اكتب أي شيء بعد ذلك 511 00:36:46,520 --> 00:36:48,450 وستضاف إلى الأمر. 512 00:36:48,450 --> 00:36:52,040 في هذه الحالة، أنا فقط أعطى المثال هناك، كنا الوسيطة الأولى؛ 513 00:36:52,040 --> 00:36:54,610 لم نستخدم أي أشخاص آخرين. 514 00:36:54,610 --> 00:36:57,960 إذا أعطيت الحجج الأخرى على سطر الأوامر، وأنها لن تستخدم. 515 00:36:57,960 --> 00:37:04,630 حتى إذا كنت تستخدم الإشارة التاريخ في كل شيء، ثم يجب استخدامها للحصول على أي حجة. 516 00:37:04,630 --> 00:37:11,310 >> هناك شيء آخر هنا أريد فقط أن أذكر، بين قوسين جزئيا، 517 00:37:11,310 --> 00:37:15,250 أي أن هذه الآلية التاريخ مع علامة تعجب 518 00:37:15,250 --> 00:37:18,010 يعود إلى الأصلي C-قذيفة. 519 00:37:18,010 --> 00:37:27,060 عرض tcsh عمليات التاريخ 520 00:37:27,060 --> 00:37:30,910 التي تستخدم أنواع الأوامر وسلاسل من المحررين، 521 00:37:30,910 --> 00:37:33,650 إما إيماكس أو السادس. 522 00:37:33,650 --> 00:37:36,430 رأيي الشخصي هو إيماكس هو أسهل بكثير لاستخدامها لهذا الغرض 523 00:37:36,430 --> 00:37:39,390 حتى إذا كنت تستخدم السادس للتحرير العادية الخاصة بك. 524 00:37:39,390 --> 00:37:43,900 هناك العديد من أوامر ايماكس التي يتم تكييفها الآن للتاريخ. 525 00:37:43,900 --> 00:37:46,410 السيطرة P يحصل على السطر السابق في قائمة التاريخ. 526 00:37:46,410 --> 00:37:48,840 سوف تحكم أخرى P تحصل على واحدة قبل ذلك. 527 00:37:48,840 --> 00:37:50,540 السهم حتى يفعل الشيء نفسه. 528 00:37:50,540 --> 00:37:54,190 السيطرة N يحصل الأمر التالي إذا كنت قد تمريره بالفعل يعود بعض الطرق. 529 00:37:54,190 --> 00:37:55,880 السهم لأسفل يفعل ذلك أيضا. 530 00:37:55,880 --> 00:38:00,480 يمكنك تحرك اليسار إلى اليمين مع السهام وغيرها من الأمور المختلفة. 531 00:38:00,480 --> 00:38:02,390 وهذا يمكن الاستفادة من آلية التاريخ 532 00:38:02,390 --> 00:38:05,070 أسهل بكثير من استخدام بناء الجملة تعجب، 533 00:38:05,070 --> 00:38:07,930 ولكن هل لا استخدام ذلك في تعريف الاسم المستعار. 534 00:38:17,780 --> 00:38:20,020 سنذهب على أن بعض وقت آخر. 535 00:38:24,300 --> 00:38:25,810 >> المتغيرات. 536 00:38:26,880 --> 00:38:29,510 كنت تعرف ما هي المتغيرات في لغات البرمجة. 537 00:38:29,510 --> 00:38:31,680 قذائف يكون لهم أيضا. 538 00:38:31,680 --> 00:38:37,350 يستخدم C-قذيفة الأمر تعيين لتعيين المتغيرات، 539 00:38:37,350 --> 00:38:41,360 بحيث يحدد المتغير إلى قيمة ب - 540 00:38:41,360 --> 00:38:46,390 كما قلت، تعريفا غير مجدية ولكن توضيحا لكيفية استخدام هذا. 541 00:38:48,790 --> 00:38:52,410 فإن الأمر set بإنشاء متغير إذا لم يكن موجودا بالفعل. 542 00:38:55,270 --> 00:39:02,490 يمكن اعتبار المعلمات الموضعية للمخطوطات قذيفة المتغيرات، 543 00:39:02,490 --> 00:39:10,750 ولكن استخدام بينها وبين القواعد بالنسبة لهم هي مختلفة بعض الشيء. 544 00:39:10,750 --> 00:39:14,320 لا يمكنك تعيين قيمة 1 دولار في سياق برنامج نصي. 545 00:39:14,320 --> 00:39:18,340 قد تضطر إلى تعريف متغير جديد لهذا الغرض إذا كان بعض من أردت. 546 00:39:23,000 --> 00:39:28,470 اكتب تعيين بدون وسائط وتحصل على قائمة بجميع المتغيرات المعرفة حاليا. 547 00:39:28,470 --> 00:39:34,220 ودعونا نصل الى بلدي قذيفة أخرى هنا وانظر ماذا يحصل نرجو اذا لم نفعل ذلك. 548 00:39:34,220 --> 00:39:37,110 قائمة طويلة جدا هناك، أليس كذلك؟ 549 00:39:37,110 --> 00:39:40,990 انتقل إلى أعلى قليلا. ننظر في كل ذلك. 550 00:39:40,990 --> 00:39:44,330 وتعرف بعض من هذه الأمور تلقائيا بواسطة قذيفة. 551 00:39:44,330 --> 00:39:49,320 قذيفة يخلق متغير ويعطيها قيمة. 552 00:39:49,320 --> 00:39:52,730 يتم تعريف بعض منهم من قبل قذيفة ولكن بعد ذلك إعادة تعريف من قبل المستخدم 553 00:39:52,730 --> 00:39:54,820 وفقا لتفضيلاته. 554 00:39:54,820 --> 00:39:59,110 ومنهم من يتم إنشاؤها من قبل المستخدم اعتمادا على ما يفعل ذلك اليوم. 555 00:39:59,110 --> 00:40:01,880 ان مجموعة فقط بدون وسائط. 556 00:40:06,920 --> 00:40:10,050 هناك ميزة غريبة هنا من هذا الشيء. 557 00:40:10,050 --> 00:40:17,980 هناك يجب أن تكون إما بدون مسافات بين علامة التساوي واسم متغير 558 00:40:17,980 --> 00:40:23,700 والقيمة أو المساحات على جانبي علامة التساوي، 559 00:40:23,700 --> 00:40:28,940 كما هو الحال في هذا واحد. 560 00:40:35,620 --> 00:40:41,340 هذا لن ينجح، وهذا هو في الواقع أمر صحيح 561 00:40:41,340 --> 00:40:43,390 لكنها لن تفعل ما كنت تنوي. 562 00:40:43,390 --> 00:40:50,070 سيعمل هذا الأمر لأنه إذا كنت فقط يقول تعيين واسم متغير 563 00:40:50,070 --> 00:40:54,890 مع عدم وجود علامة التساوي أو مجموعة واسم متغير مع علامة التساوي وليس لها قيمة، 564 00:40:54,890 --> 00:40:57,770 فإنه سيتم تعيين المتغير إلى قيمة فارغة. 565 00:40:57,770 --> 00:41:00,120 حتى تعيين = هو أمر صحيح. 566 00:41:00,120 --> 00:41:04,370 الأمر set يمكن تعريف أكثر من متغير 1 على نفس الخط. 567 00:41:04,370 --> 00:41:11,240 لذلك هذا الأمر هنا له تأثير تعريف كل من أ و ب إلى فارغة القيم. 568 00:41:11,240 --> 00:41:13,470 ربما لا ما تريد. 569 00:41:13,470 --> 00:41:17,940 هذا واحد هنا، ذكر في وقت سابق، وسوف يؤدي إلى خطأ 570 00:41:17,940 --> 00:41:21,270 لأن = ب ليس تعبير صالح. 571 00:41:21,270 --> 00:41:23,680 لا يمكن أن يبدأ اسم المتغير مع علامة التساوي. 572 00:41:26,760 --> 00:41:29,080 وهناك مزيد من هذه الأشياء هنا. 573 00:41:29,080 --> 00:41:36,820 تم استخدام نقطتين لتحديد الحجج من خطوط التاريخ، 574 00:41:36,820 --> 00:41:41,210 ويمكن استخدامها - وأنا لم أذهب إلى قبل - لتعديل تلك الأشياء. 575 00:41:41,210 --> 00:41:44,480 أنها يمكن أن تستخدم أيضا لتعديل متغيرات قذيفة. 576 00:41:44,480 --> 00:41:49,050 هذا واحد هنا، $ A، له قيمة. 577 00:41:49,050 --> 00:41:55,040 : ص سوف تقلع امتدادا. 578 00:41:55,040 --> 00:41:57,200 وامتدادا يكون أي شيء بعد نقطة، 579 00:41:57,200 --> 00:41:59,200 نقطة وأي شيء بعد ذلك في نهاية ملف، 580 00:41:59,200 --> 00:42:03,230 فقط في نهاية القائمة بعد مائلة للمشاركة. 581 00:42:03,230 --> 00:42:05,480 وذلك لدي هنا. 582 00:42:05,480 --> 00:42:10,730 وغير ذلك. فإنه سيتم إسقاط. س. 583 00:42:10,730 --> 00:42:16,510 اذا لم يكن هناك تمديد، إلا أن اسم الدليل بعد مائلة للمشاركة، وسوف يكون له تأثير. 584 00:42:16,510 --> 00:42:27,480 و: ح، وهذا التعبير المتغير، سوف تقلع العنصر الأخير من قائمة الدليل، 585 00:42:27,480 --> 00:42:29,660 مرة أخرى، إلا بعد الخط المائل الماضي. 586 00:42:29,660 --> 00:42:33,160 حتى يصبح / أ / ب / ج / أ / ب، 587 00:42:33,160 --> 00:42:38,870 ولكن هذا واحد يتم تغيير لأن العنصر بعد لائحة فارغة. 588 00:42:38,870 --> 00:42:43,070 هنا هناك شيء والتي أيضا أريد أن أؤكد. 589 00:42:43,070 --> 00:42:46,770 هذه التصفيات لا بحث عن وجود هذه الملفات. 590 00:42:46,770 --> 00:42:48,910 هم ينظرون فقط للسلاسل. 591 00:42:48,910 --> 00:42:54,520 وتهدف هذه إلى التلاعب أسماء الملفات، اسم الدليل، 592 00:42:54,520 --> 00:42:57,520 ولكن يمكن استخدامها على أي سلسلة حتى لو انها ليست اسم الملف. 593 00:42:57,520 --> 00:42:58,920 وأنها لا نبحث عن وجود، 594 00:42:58,920 --> 00:43:03,550 حتى اذا لم يكن هناك مثل هذا الملف، / أ / ب / ج، وهذا سوف لا تزال تعمل. 595 00:43:03,550 --> 00:43:06,930 سواء كان ذلك من أي استخدام غير سؤال آخر، لكنها لا تزال تعمل. 596 00:43:06,930 --> 00:43:12,850 متغيرات مختلفة في قذائف بورن. سوف نصل الى ذلك لاحقا. 597 00:43:12,850 --> 00:43:18,240 علامة الدولار يمكن نجا تماما مثل علامة تعجب وعلامة النجمة. 598 00:43:18,240 --> 00:43:21,760 يمكن هرب علامة الدولار بخط مائل أو علامات الاقتباس المفردة. 599 00:43:21,760 --> 00:43:24,790 علامات الاقتباس المزدوجة لها تأثير غريب في جميع قذائف 600 00:43:24,790 --> 00:43:28,690 إجبار تقييم الدولار توقيع التعبير متغير. 601 00:43:28,690 --> 00:43:31,960 حتى لو كان يجري هرب في اتجاه واحد، ويمكن لعلامات التنصيص يكون له تأثير 602 00:43:31,960 --> 00:43:34,380 التسبب في أن يتم تقييمها على أي حال. 603 00:43:34,380 --> 00:43:37,090 هذا هو مربكة قليلا. 604 00:43:37,090 --> 00:43:43,740 إذا كانت هناك مستويات متعددة من الهروب، مثل علامات الاقتباس المفردة داخل علامات التنصيص 605 00:43:43,740 --> 00:43:46,770 أو علامات الاقتباس المزدوجة داخل علامات الاقتباس المفردة، يجب اختبار لمعرفة ما سيحدث 606 00:43:46,770 --> 00:43:49,520 إلى متغير إذا كنت تستخدم واحدة. 607 00:43:49,520 --> 00:43:53,410 تلك الحالات 2 - مزدوجة من داخل واحد، واحد داخل مزدوجة - 608 00:43:53,410 --> 00:43:55,980 لا تعطيك بالضرورة نفس النتيجة. 609 00:44:02,520 --> 00:44:05,600 متغيرات البيئة، ملزمة المتغيرات C-قذيفة. 610 00:44:05,600 --> 00:44:08,340 متغيرات البيئة هي أيضا المتغيرات في C-قذيفة، 611 00:44:08,340 --> 00:44:11,250 وأنها هي أيضا المتغيرات في قذائف أخرى أيضا. 612 00:44:11,250 --> 00:44:15,230 في C-قذيفة، فهي مجموعات متميزة. 613 00:44:15,230 --> 00:44:18,130 الأشياء كنت أقوله قبل ما يقرب من المتغيرات قذيفة. 614 00:44:18,130 --> 00:44:21,300 متغيرات البيئة هي مجموعة متميزة من المتغيرات 615 00:44:21,300 --> 00:44:28,650 باستثناء العديد من المتغيرات التي نسميها المتغيرات ملزمة، 616 00:44:28,650 --> 00:44:30,640 والتي هي مهمة جدا ونحن سوف نصل الى تلك في وقت لاحق. 617 00:44:30,640 --> 00:44:34,950 يتم تمرير متغيرات البيئة تلقائيا على 618 00:44:34,950 --> 00:44:41,800 لقذائف أو الأوامر التي يتم تشغيلها من قذيفة الخاص بك. 619 00:44:41,800 --> 00:44:46,220 الأشياء الأخرى ليست كذلك. المتغيرات قذيفة، والأسماء المستعارة ليست كذلك. متغيرات البيئة هي. 620 00:44:46,220 --> 00:44:48,630 لهذا السبب نحن نسميها متغيرات البيئة، 621 00:44:48,630 --> 00:44:55,030 والفكرة هي أن البيئة تمتد الماضي فقط قذيفة الحالي. 622 00:44:55,030 --> 00:45:00,510 أنها يمكن أن تستخدم لتحديد الامور للأوامر. 623 00:45:00,510 --> 00:45:05,470 هنا مثال على ذلك. PRINTER، LPDEST. 624 00:45:05,470 --> 00:45:12,270 كل من هذه المتغيرات يمكن تحديد الطابعة التي أمر سوف تستخدم لطباعة الأشياء. 625 00:45:12,270 --> 00:45:16,500 إذا كان لديك الطابعات متعددة حولها، قد ترغب في وضع واحد تريد. 626 00:45:16,500 --> 00:45:21,320 السبب لدينا 2 المتغيرات هو أن مجموعات مختلفة من الأوامر كانت مكتوبة 627 00:45:21,320 --> 00:45:23,870 باستخدام هذه المتغيرات المختلفة. 628 00:45:23,870 --> 00:45:25,910 قد منحهم قيم مختلفة. 629 00:45:25,910 --> 00:45:28,860 الأرجح أنك سوف نعطيهم كل من نفس القيمة. 630 00:45:28,860 --> 00:45:35,840 تلك الأشياء تعمل لأن الأوامر التي تفعل الطباعة 631 00:45:35,840 --> 00:45:40,740 كانت مبرمجة لدراسة قيم هذه المتغيرات. 632 00:45:42,200 --> 00:45:46,150 إذا لم تكن مكتوبة برنامج بهذه الطريقة، إذا كانت مكتوبة أن تفعل شيئا آخر، 633 00:45:46,150 --> 00:45:48,280 ان المتغير تكون في غير محلها. 634 00:45:48,280 --> 00:45:52,530 وبالتالي فإن نظام التشغيل لا تبحث عن هذه المتغيرات 635 00:45:52,530 --> 00:45:55,210 في كل مرة كنت أشير إلى طابعة. 636 00:45:55,210 --> 00:45:59,090 أمر الطباعة التي لا تبحث عن هذه المتغيرات إذا كانت مبرمجة بهذه الطريقة. 637 00:46:11,030 --> 00:46:15,240 وغالبا ما يتم تعريف هذه المتغيرات في ملفات التهيئة الخاصة بك 638 00:46:15,240 --> 00:46:19,440 ولكن ليس بالضرورة. 639 00:46:19,440 --> 00:46:21,050 يمكنك تعريف لهم على سطر الأوامر. 640 00:46:21,050 --> 00:46:24,090 قد يحدد في أمر. 641 00:46:24,090 --> 00:46:28,740 والأمر الذي يدير شيء قد يكون لها اختيار الخاصة من المتغيرات - 642 00:46:28,740 --> 00:46:32,390 المتغيرات التي هي فريدة من نوعها لمجموعة من البرامج على وجه الخصوص، على سبيل المثال. 643 00:46:32,390 --> 00:46:36,740 أنها سوف تكون محددة عند تشغيل تلك الحزمة. 644 00:46:39,690 --> 00:46:42,680 كيف يتم هذه المتغيرات التي تم تمريرها إلى قذيفة الفرعية؟ 645 00:46:42,680 --> 00:46:48,210 عند كتابة قذيفة الفرعية، فإنه لا يكتب في هذا المجال. 646 00:46:48,210 --> 00:46:53,260 منطقة قذيفة الفرعية التي تكرس جهودها لمتغيرات البيئة 647 00:46:53,260 --> 00:46:56,450 هو لم يكتب من قبل قذيفة الفرعية؛ الذي كتبت به النسخ. 648 00:46:56,450 --> 00:47:00,530 عند تشغيل أمر عادي، مثل هذه الأوامر لطباعة أو أيا كان، 649 00:47:00,530 --> 00:47:03,840 أنها تبدأ من خلال خلق قذيفة جديدة. 650 00:47:03,840 --> 00:47:06,190 قذيفة قذيفة يخلق ثم الكتابة فوق جزء منه 651 00:47:06,190 --> 00:47:08,800 مع الأوامر التي تقوم بتشغيل، والذي هو مربكة قليلا، 652 00:47:08,800 --> 00:47:10,740 ولكن هذه هي الطريقة التي تحصل على هذه الأوامر متغيرات البيئة 653 00:47:10,740 --> 00:47:14,890 انهم ثم ترجع الى وقت لاحق. 654 00:47:21,920 --> 00:47:28,010 الأمر هنا لتحديد setenv متغير. 655 00:47:28,010 --> 00:47:36,470 هذه هي الطريقة التي تحدد ذلك. انها 3 عناصر: setenv، متغير، والقيمة. 656 00:47:36,470 --> 00:47:44,710 إذا كنت فقط لا setenv بدون وسائط، ماذا يحصل؟ 657 00:47:47,220 --> 00:47:48,810 قائمة كل تلك المتغيرات. 658 00:47:48,810 --> 00:47:53,190 مرة أخرى، انها قائمة طويلة لطيفة و في هذه الحالة، كما في غيرها، 659 00:47:53,190 --> 00:47:57,320 يتم تعريف هذه المتغيرات إلى حد كبير من عملية تسجيل الدخول عن طريق بلدي قذيفة نفسها 660 00:47:57,320 --> 00:47:59,740 بدلا من أي شيء فعلته. 661 00:47:59,740 --> 00:48:03,580 هناك أمر آخر هنا، printenv. 662 00:48:07,520 --> 00:48:10,340 الذي يطبع أيضا إلى البيئة. 663 00:48:10,340 --> 00:48:15,240 تلاحظ هذا آخر شيء هنا، المحرر = السادس. 664 00:48:15,240 --> 00:48:21,120 الذي يقول أنه إذا أنا باستخدام شيء يدعو محرر 665 00:48:21,120 --> 00:48:25,530 وأنا لم تحدد محررا ويسمح لي الخيار، فإنه قد تعطيني السادس. 666 00:48:25,530 --> 00:48:37,280 ماذا لو أفعل المحرر printenv؟ يقول لي ما هو عليه. 667 00:48:37,280 --> 00:48:41,340 الحق قبل ذلك، كان هناك متغير، أي أقل. 668 00:48:41,340 --> 00:48:46,040 هذه هي الخيارات الافتراضات الخاصة بك عند تشغيل الأمر أقل، 669 00:48:46,040 --> 00:48:49,360 الذي يعرض الملفات. 670 00:48:49,360 --> 00:48:55,910 حتى لو كنت تفعل ذلك، يمكن أن يستغرق printenv 1 0 حجة أو الحجج، 671 00:48:55,910 --> 00:48:58,070 لا أكثر من 1. 672 00:49:01,800 --> 00:49:05,690 هناك أوامر أخرى أيضا، ولكن نحن لن ندخل في كل ذلك اليوم. 673 00:49:05,690 --> 00:49:11,010 تذكر كانت هناك معدلات للمتغيرات قذيفة مثل: ح، 674 00:49:11,010 --> 00:49:14,350 والتي سوف إسقاط العنصر الأخير من اسم مسار، 675 00:49:14,350 --> 00:49:17,950 أو: ص، والتي ستنخفض امتدادا. 676 00:49:17,950 --> 00:49:23,110 تلك ينطبق الآن إلى متغيرات البيئة أيضا. أنها لم تستخدم ل. 677 00:49:23,110 --> 00:49:24,960 كان عليه أن يكون أنها لا يمكن تعديلها. الآن أنها يمكن أن تكون. 678 00:49:24,960 --> 00:49:29,190 انها واحدة من التقدم مع تطورات قذائف على مر السنين. 679 00:49:29,190 --> 00:49:35,620 كنت أقول أن قذائف كجزء من بيئات 680 00:49:35,620 --> 00:49:43,040 والمتغيرات قذيفة في C-قذيفة هي، مع بعض الاستثناءات، ومجموعات متميزة. 681 00:49:43,040 --> 00:49:46,790 يمكنك إنشاء متغير بيئة ومتغير قذيفة بنفس الاسم. 682 00:49:46,790 --> 00:49:49,220 وأنها ستكون المتغيرات المختلفة، بل يمكن أن يكون لها قيم مختلفة. 683 00:49:49,220 --> 00:49:53,090 سوف تغيير قيمة واحدة لا تتغير قيمة أخرى. 684 00:49:53,090 --> 00:49:58,070 يتم تقييم كل هذه المتغيرات مع علامة الدولار - دولار، $ أيا كان. 685 00:49:58,070 --> 00:50:02,340 ذلك ما إذا كان لديك هذا؟ لا يمكنك أن تعرف أي واحدة أن تحصل عليه؟ 686 00:50:02,340 --> 00:50:04,520 في بلدي التجارب حصلت على متغير قذيفة، 687 00:50:04,520 --> 00:50:07,240 ولكن هذا لم يتم توثيقها وأنت لا يمكن الاعتماد على ذلك. 688 00:50:07,240 --> 00:50:10,270 لذلك أنا أطلب منكم، هو خلق قذيفة ومتغيرات البيئة 689 00:50:10,270 --> 00:50:13,490 مع نفس الأسماء فكرة جيدة؟ رقم حسنا. 690 00:50:13,490 --> 00:50:17,460 ما هي تلك الاستثناءات الرئيسية في البيئة التي وقذيفة المتغيرات 691 00:50:17,460 --> 00:50:19,860 ترتبط مع بعضها البعض؟ 692 00:50:19,860 --> 00:50:27,470 هناك هذه 4. 693 00:50:32,030 --> 00:50:35,510 حرف متغير البيئة الأجل، 694 00:50:35,510 --> 00:50:41,540 قذيفة المدى متغير في رسائل صغيرة، ونوع مضاهاة المحطة الطرفية. 695 00:50:41,540 --> 00:50:47,430 أنا مجرد الذهاب للذهاب إلى هنا وانا ذاهب الى القيام به الصدى، أمر مفيد هنا، 696 00:50:47,430 --> 00:50:52,560 $ $ الأجل الطويل. وهناك. 697 00:50:52,560 --> 00:51:00,570 إكس تيرم هو نوع المحطة الطرفية للنوافذ المعروضة في نظام نوافذ X. 698 00:51:00,570 --> 00:51:04,330 إكس تيرم لون هو الاختلاف من أن تسمح ألوان مختلفة. 699 00:51:04,330 --> 00:51:06,580 لماذا نحدد هذه؟ ما هو هذا جيد ل؟ 700 00:51:06,580 --> 00:51:09,740 إعادة ترتيب الأوامر التي الشاشة مثل المحرر 701 00:51:09,740 --> 00:51:13,680 إرسال تسلسل معين، وتسمى أحرف، 702 00:51:13,680 --> 00:51:18,160 إلى محطة أو نافذة لإعادة ترتيب ذلك وهكذا دواليك. 703 00:51:18,160 --> 00:51:20,990 تلك هي متواليات مختلفة لأنواع مختلفة من المحطات. 704 00:51:20,990 --> 00:51:23,100 هذا يقول انها تلك التي للاستخدام. 705 00:51:23,100 --> 00:51:25,900 أحيانا هناك قضايا هناك. 706 00:51:25,900 --> 00:51:28,600 قد ترغب في تغيير ذلك. 707 00:51:28,600 --> 00:51:30,780 اذا كانت الامور لا تعمل، وأحيانا يتم تعيين نوع المحطة الطرفية خاطئ، 708 00:51:30,780 --> 00:51:36,440 كنت قد تكون قادرة على اصلاحها من خلال إعادة تعريف المتغير المدى. 709 00:51:36,440 --> 00:51:43,420 في هذه الحالات، وتغيير متغير واحد، ومتغير البيئة أو متغير قذيفة، 710 00:51:43,420 --> 00:51:45,970 يجب تغيير الآخر. 711 00:51:45,970 --> 00:51:50,970 لقد اكتشفت من خلال التجربة أن تغيير مصطلح بحروف 712 00:51:50,970 --> 00:51:54,060 لا يتغير دائما قذيفة المدى متغير بأحرف صغيرة. 713 00:51:54,060 --> 00:51:55,550 هذا خطأ. 714 00:51:55,550 --> 00:51:59,400 أنا لا أعرف اذا كان هذا صحيحا دائما. أكثر من مرة أنه ليس صحيحا، لكنه يمكن أن يكون. 715 00:51:59,400 --> 00:52:02,490 حتى إذا قمت بإجراء تغيير، مجرد التحقق من ذلك. 716 00:52:02,490 --> 00:52:05,830 انها ليست في كثير من الأحيان أن كنت بحاجة إلى تغيير تلك القيمة، ولكن مرة واحدة في حين كنت تفعل. 717 00:52:05,830 --> 00:52:08,260 USER متغير البيئة. 718 00:52:08,260 --> 00:52:12,070 مرة أخرى، متغير البيئة في حروف، قذيفة متغير بأحرف صغيرة. 719 00:52:12,070 --> 00:52:13,710 هذا هو اسم المستخدم الخاص بك. 720 00:52:13,710 --> 00:52:16,730 انها فقط في ظروف استثنائية جدا 721 00:52:16,730 --> 00:52:18,420 ان كنت ترغب في تغيير ذلك. 722 00:52:18,420 --> 00:52:22,350 إذا كان اسم المستخدم الخاص بك هو شخص آخر، فإنه يمكن رمي كل أنواع الأشياء قبالة. 723 00:52:22,350 --> 00:52:26,040 الدليل الرئيسي، الدليل الرئيسي المستخدم. 724 00:52:26,040 --> 00:52:28,060 مرة أخرى، فإنك لن ترغب في تغيير ذلك. 725 00:52:28,060 --> 00:52:32,260 نلاحظ في كل هذه الحالات وتلك التي نحن على وشك أن تغطي، متغير المسار، 726 00:52:32,260 --> 00:52:37,070 متغير البيئة هو في حروف ومتغير قذيفة المربوطة بأحرف صغيرة. 727 00:52:37,070 --> 00:52:39,240 إذا قمت بتغيير واحد، يجب تغيير الآخر. 728 00:52:39,240 --> 00:52:45,960 لا يمكن تأسيس هذا النوع من الربط كما لا يمكن ربط 2 المتغيرات، 729 00:52:45,960 --> 00:52:50,570 بخلاف هذه 4، والربط في هذه المتغيرات لا يمكن التراجع، 730 00:52:50,570 --> 00:52:52,090 لا يمكنك فصل بينهما. 731 00:52:52,090 --> 00:52:55,820 لذلك لا بد من هذه الأزواج 4 المتغيرات. 732 00:52:55,820 --> 00:52:59,020 أنها ستظل دائما كذلك. لا شيء غيرها سوف يكون. 733 00:52:59,020 --> 00:53:05,720 بالإضافة إلى ذلك، سيكون من الممكن لخلق متغيرات مع نفس الأسماء 734 00:53:05,720 --> 00:53:07,780 أنواع المعاكس. 735 00:53:07,780 --> 00:53:11,600 هل يمكن جعل مصطلح متغير قذيفة في الحروف الصغيرة 736 00:53:11,600 --> 00:53:14,990 أو بيئة مصطلح متغير في الأحرف الكبيرة. 737 00:53:14,990 --> 00:53:19,040 أن هذه المتغيرات تكون مستقلة عن هذه المتغيرات المقترنة 738 00:53:19,040 --> 00:53:20,780 وأنها ستكون مستقلة عن بعضها البعض. 739 00:53:20,780 --> 00:53:23,780 لا أستطيع أن أتخيل لماذا كنت تفعل ذلك إلا إذا كنت تريد أن تخلط بين الناس. 740 00:53:24,600 --> 00:53:29,730 هذا واحد هنا، متغير المسار، وهذا هو واحد مهم حقا. 741 00:53:29,730 --> 00:53:35,550 شيء آخر هنا هو أنه لا يمكن أن تكون هناك حالات 742 00:53:35,550 --> 00:53:40,430 المتغيرات المقترنة مع أسماء مشابهة والتي لا بد أن بعضها البعض. 743 00:53:40,430 --> 00:53:45,000 يمكن أن يكون هناك متغيرات، SHELL وشركة شل، وبحروف كبيرة وصغيرة. 744 00:53:45,000 --> 00:53:48,300 بناء على هذا الاسم، وكنت لا أعرف إذا كان هذا المتغير هو متغير قذيفة 745 00:53:48,300 --> 00:53:51,580 أو متغير بيئة، وانهم لا بد أن بعضها البعض. 746 00:53:51,580 --> 00:53:55,300 لذلك هذا النوع من الأسماء المقترنة لا يعني المتغيرات منضم. 747 00:53:55,300 --> 00:53:58,830 متغير المسار، وهو ما كان يظهر من قبل، 748 00:53:58,830 --> 00:54:01,880 هي قائمة من اسم الدليل الذي يبحث عن قذيفة الأوامر. 749 00:54:01,880 --> 00:54:12,320 دعونا نصل الى هذه النافذة هنا وسنفعل $ صدى PATH، حروف - 750 00:54:12,320 --> 00:54:20,230 متغير البيئة - صدى $ المسار، الحروف الصغيرة - قذيفة متغير. 751 00:54:20,230 --> 00:54:24,980 لاحظ أن قائمة الدلائل هو نفسه. لا بد منها. 752 00:54:24,980 --> 00:54:26,590 تغيير واحد، يمكنك تغيير الأخرى. 753 00:54:26,590 --> 00:54:32,970 في متغير البيئة يتم فصل العناصر من قبل كولون. لاحظ أن. 754 00:54:32,970 --> 00:54:35,130 يتم فصل المتغيرات قذيفة بمسافات. 755 00:54:35,130 --> 00:54:38,760 هذا متغير البيئة هو سلسلة واحدة. 756 00:54:38,760 --> 00:54:41,480 المتغير هو قذيفة صفيف. 757 00:54:41,480 --> 00:54:43,490 فإن بورن قذيفة يكن لديك المصفوفات. 758 00:54:43,490 --> 00:54:46,600 باش لا، ولكن هذا هو بالفعل جزء ثابت من قذيفة. 759 00:54:46,600 --> 00:54:48,660 هذا هو سلسلة واحدة وليس مجموعة. 760 00:54:48,660 --> 00:54:50,420 كان C-قذيفة دائما صفائف. 761 00:54:50,420 --> 00:54:52,630 صفائف هي أسهل بكثير للعمل مع. 762 00:54:52,630 --> 00:54:54,400 يمكنك الرجوع إلى أجزاء منه. 763 00:54:54,400 --> 00:55:02,350 $ مسار صدى ذلك [1] وأحصل / البيرة / بن، العنصر الأول. 764 00:55:02,350 --> 00:55:09,950 مرة أخرى، تذكر الدولار علامة تقف على العنصر الأخير من قائمة التاريخ. 765 00:55:09,950 --> 00:55:16,850 ماذا يحدث هناك؟ أنها حاولت أن تجد علامة الدولار كرمز متغير. 766 00:55:16,850 --> 00:55:20,850 أنا الخروج منه. عفوا. فإنه لن يأخذ ذلك سواء. 767 00:55:20,850 --> 00:55:23,690 بعض هذه الامور لا تعمل على ما يرام. 768 00:55:23,690 --> 00:55:28,140 ربما سنقوم مجرد ترك ذلك للخروج. 769 00:55:28,140 --> 00:55:36,980 تشير النجمة إلى كل شيء، ولكن هذا ما تحصل عليه إذا لم تقم بتحديد عنصر. 770 00:55:36,980 --> 00:55:46,170 طريقة أخرى أن المتغيرات مجموعة يمكن التلاعب بها، 771 00:55:46,170 --> 00:55:49,500 هناك عدد من العناصر، 7 عناصر. 772 00:55:49,500 --> 00:55:53,410 ونحن هنا نضع علامة الجنيه قبل اسم المتغير. 773 00:55:53,410 --> 00:55:58,280 هنا واحد آخر. وضع علامة استفهام هناك. 774 00:55:58,280 --> 00:56:03,170 وهذا هو قيمة منطقية. الذي يشير إلى أن متغير موجودا. 775 00:56:03,170 --> 00:56:05,160 انها وسيلة أخرى للعمل مع المتغيرات. 776 00:56:05,160 --> 00:56:06,660 التي، بالمناسبة، لا يجب أن يكون متغير صفيف. 777 00:56:06,660 --> 00:56:08,210 يمكن أن يكون أي متغير. 778 00:56:08,210 --> 00:56:11,840 وإذا كنت تفعل، وليس هناك مثل هذا المتغير وأحصل على 0. 779 00:56:11,840 --> 00:56:14,990 آخر الشيء القليل هناك حوالي التقييمات متغيرة. 780 00:56:23,670 --> 00:56:32,950 إلى هذا واحد هنا، إذا لسبب ما كنت أرغب في العمل مع هذا 781 00:56:32,950 --> 00:56:37,990 بدلا من العمل مع مجموعة، متغير قذيفة، 782 00:56:37,990 --> 00:56:41,470 هناك الأوامر التي يمكن فصل هذه الأشياء على أساس القولون. 783 00:56:41,470 --> 00:56:44,080 في الواقع، إذا كنت تريد الذهاب لأن تفعل هذا في باش قذيفة ربما، 784 00:56:44,080 --> 00:56:47,110 نوع من الكتابة، من شأنها أن تكون على الارجح كيف ستفعل ذلك. 785 00:56:47,110 --> 00:56:50,350 ولكن في C-قذيفة انه من الاسهل بكثير لاستخدام صفيف. 786 00:56:50,350 --> 00:56:58,250 في بورن قذيفة، يتم تعيين المتغيرات التي كتبها تعبير واحد من هذا القبيل، 787 00:56:58,250 --> 00:57:01,760 مثل الطريقة التي قد تعيين متغير في لغة البرمجة، 788 00:57:01,760 --> 00:57:05,110 وهنا يجب أن يكون هناك مسافات. 789 00:57:05,110 --> 00:57:09,110 انه من الضروري أن يكون مجرد سلسلة 1. 790 00:57:09,110 --> 00:57:14,980 في قذائف بورن من نوع، وكلها متغيرات هي المتغيرات قذيفة. 791 00:57:14,980 --> 00:57:19,250 متغيرات البيئة هي مجموعة فرعية من المتغيرات قذيفة. 792 00:57:19,250 --> 00:57:24,060 وتتميز أنها من المتغيرات غير البيئة من خلال تصدير. 793 00:57:24,060 --> 00:57:28,860 الأمر لذلك هي تصدير، مثل PRINTER التصدير. 794 00:57:28,860 --> 00:57:34,930 إذا كان لنا أن تحديد هذا المتغير، 795 00:57:34,930 --> 00:57:38,480 إذا أردنا أمر الطباعة للعثور عليه، فإنه من الضروري أن يكون متغير بيئة، 796 00:57:38,480 --> 00:57:40,730 وهذه هي الطريقة التي تجعل منها واحدة. 797 00:57:40,730 --> 00:57:42,090 هنا هناك شيء نوع من الخلط. 798 00:57:42,090 --> 00:57:50,430 هذا التعبير، والتصدير للبيئة، تستمد من هذا المفهوم بورن قذيفة، 799 00:57:50,430 --> 00:57:54,520 وحتى الآن يتم استخدام هذا التعبير في وصف من C-قذيفة، 800 00:57:54,520 --> 00:57:57,920 حيث لا يوجد مثل هذا الأمر كما التصدير. 801 00:57:57,920 --> 00:58:06,200 إذا كنت أقول التصدير في حد ذاته، وتحصل على قائمة تصدير - 802 00:58:06,200 --> 00:58:10,620 حتى لو كنت فقط لا تصدير هنا، لا شيء من هذا القبيل. 803 00:58:13,620 --> 00:58:15,200 حسنا، هناك نذهب. 804 00:58:15,200 --> 00:58:17,010 هذه الأمور، بالمناسبة، كما تم تعريفها من قبل شركة شل. 805 00:58:17,010 --> 00:58:19,400 أنا لم تحدد أي من هذه بنفسي. 806 00:58:19,400 --> 00:58:23,550 قذيفة يفعل كل أنواع الأشياء من تلقاء نفسه. 807 00:58:23,550 --> 00:58:26,650 يجب أن تفعل أشياء تلقائيا. 808 00:58:30,240 --> 00:58:36,880 في باش أو كورن قذيفة، يمكنك تشغيل أمر مثل هذا، 809 00:58:36,880 --> 00:58:42,000 والتي سوف تعطي كل من متغير قيمة وتصديره في 1 الأوامر. 810 00:58:42,000 --> 00:58:46,150 في وعاء بورن أنها يجب أن تكون أوامر منفصلة مثل تصدير أ. 811 00:58:46,150 --> 00:58:48,410 هنا هو جانب آخر أن مربكة. 812 00:58:48,410 --> 00:58:52,220 ويعرف الأمر set في C-قذيفة المتغيرات 813 00:58:52,220 --> 00:58:55,550 وبدون وسائط يخبرك ما هي القيم المتغيرات 'هي. 814 00:58:55,550 --> 00:59:01,140 في باش قذيفة، الأمر set بدون وسائط يفعل الشيء نفسه، 815 00:59:01,140 --> 00:59:03,580 ولكن مع الحجج يفعل شيئا مختلفا تماما. 816 00:59:03,580 --> 00:59:06,200 لذلك فان هذه هي مختلف الحجج هنا. 817 00:59:06,200 --> 00:59:10,460 بعض هذه هي متغيرات البيئة، وبعضها متغيرات قذيفة. 818 00:59:10,460 --> 00:59:13,200 كلها متغيرات قذيفة حقا. بعض هذه هي متغيرات البيئة. 819 00:59:15,690 --> 00:59:23,920 الأمر set بحجج يمكن استخدامها لتشغيل 820 00:59:23,920 --> 00:59:28,220 على معلمات الموضعية لنصي، 821 00:59:28,220 --> 00:59:33,910 الذي هو وسيلة للحصول عليها في كل مرة. 822 00:59:33,910 --> 00:59:36,150 نحن لا يمكن أن تذهب فعلا الى أن اليوم. 823 00:59:36,150 --> 00:59:39,580 ويمكن أيضا أن تستخدم لتغيير السلوك قذيفة. 824 00:59:39,580 --> 00:59:46,700 ولا سيما في باش هناك متغيرات التي ستحدد كيفية تصرف قذيفة. 825 00:59:46,700 --> 00:59:51,310 ثم أيضا هذا فقط أمر واحد التي قد تراها، هذا الأمر. 826 00:59:51,310 --> 00:59:59,050 تنضيدها تليها المتغيرات وأنواع متغير يستخدم في كورن وباش قذائف. 827 00:59:59,050 --> 01:00:04,970 انها ليست إلزامية لكنها يمكن أن تستخدم لتقييد القيم من المتغيرات، 828 01:00:04,970 --> 01:00:08,400 والتي يمكن أن تكون مفيدة لمنع الأخطاء، وانها شائعة إلى حد ما. 829 01:00:08,400 --> 01:00:11,640 لذلك أنا فقط بالذكر أنه في حال كنت أراه في مكان ما. 830 01:00:17,290 --> 01:00:19,160 الأمر حيث. 831 01:00:19,160 --> 01:00:22,490 أتذكر ذكرت في وقت سابق حيث أمر في C-قذيفة، 832 01:00:22,490 --> 01:00:28,750 والتي يمكن أن أقول لكم مكان وجود مسار الأوامر. 833 01:00:28,750 --> 01:00:32,580 هنا هو استبدال القيادة. 834 01:00:32,580 --> 01:00:41,900 يجب أن تجد على لوحة المفاتيح الخاصة بك في مكان ما على الحرف الذي يبدو مثل هذا. 835 01:00:41,900 --> 01:00:44,910 الموقع على لوحة المفاتيح سوف تختلف. 836 01:00:44,910 --> 01:00:47,050 لقد يطلق عليه backquote. ولكن عن حجم الاقتباس. 837 01:00:47,050 --> 01:00:48,720 فإنه يذهب من اليسار العلوي إلى أسفل اليمين. 838 01:00:48,720 --> 01:00:52,690 هنا في بلدي لوحة المفاتيح ماك انها في الزاوية العليا اليسرى. 839 01:00:52,690 --> 01:00:58,150 ويمكن استخدام هذا الحرف لتنفيذ أمر ضمن الأوامر. 840 01:00:58,150 --> 01:01:03,400 إذا كان لديك تعبير داخل backquotes، 841 01:01:03,400 --> 01:01:07,080 هذا التعبير هو أمر، يتم تشغيله. 842 01:01:07,080 --> 01:01:09,010 إخراج هذا الأمر 843 01:01:09,010 --> 01:01:11,980 ثم يتم استبداله للتعبير backquote كله 844 01:01:11,980 --> 01:01:16,110 داخل الأمر الذي يعد ثم يعمل مع أن الناتج 845 01:01:16,110 --> 01:01:22,010 كجزء من سلسلة لها من الحجج وهكذا دواليك. 846 01:01:22,010 --> 01:01:28,640 هنا هو أمر الذي يستخدم ذلك. 847 01:01:28,640 --> 01:01:32,340 دعونا العرض لعمليات تشغيل هنا. 848 01:01:44,980 --> 01:01:49,090 دعونا نذهب هنا، واخراج backquotes. 849 01:01:49,090 --> 01:01:54,410 التحكم A يحصل لي إلى بداية السطر مع بناء الجملة تحرير ايماكس. 850 01:01:54,410 --> 01:02:00,380 حتى الآن على اسم الدليل هو ما حيث لا، 851 01:02:00,380 --> 01:02:05,040 ولكن عندما تفعل ذلك مثل هذا، ثم توضع في تلك القائمة من اسم الدليل 852 01:02:05,040 --> 01:02:08,750 بدلا من هذا التعبير backquote كله ويدير يرة سورية، ل عليها. 853 01:02:08,750 --> 01:02:11,120 نوع من مريحة، هاه؟ 854 01:02:11,120 --> 01:02:14,860 بحيث شيء واحد أنيق. هذه هي الطريقة التي تعمل backquotes. 855 01:02:14,860 --> 01:02:17,560 الآن دعونا نذهب أبعد قليلا إلى أسفل. 856 01:02:17,560 --> 01:02:22,050 هذه هي الأسماء المستعارة. أنا فعلا استخدام هذه. 857 01:02:22,050 --> 01:02:26,410 سأحاول الحصول على هذه العملية في 1 مع التحرير. 858 01:02:34,900 --> 01:02:36,900 بخير. 859 01:02:36,900 --> 01:02:39,630 الآن دعونا نرى كيف جاءت تلك التعاريف بها. 860 01:02:39,630 --> 01:02:44,930 الاسم المستعار LWH تقول لي كيف هو تعريفه. 861 01:02:44,930 --> 01:02:51,210 لاحظت انها هذا فقط، ولكن اتخذت الاقتباس الخارجي قبالة 862 01:02:51,210 --> 01:02:53,750 ويتم أخذ تعجب قبالة. 863 01:02:53,750 --> 01:02:58,940 ! *، قائمة كاملة من جميع الحجج. 864 01:02:58,940 --> 01:03:03,580 في تعريف الاسم المستعار أنها ستطبق العودة إلى حيث أنا استخدم هذا. 865 01:03:03,580 --> 01:03:10,620 LWH KSh الوحدات باش. بخير. 866 01:03:10,620 --> 01:03:13,960 انظر كيف يعمل؟ أنه يوفر لي بعض الكتابة. 867 01:03:13,960 --> 01:03:16,440 دعونا ترتفع قليلا فقط أن أذكر هنا شيئا آخر. 868 01:03:19,150 --> 01:03:23,120 لاحظ هنا هذه القذائف المختلفة. وأرجو أن يكون ذكرت هذا من قبل. 869 01:03:23,120 --> 01:03:36,060 في مستشفى الدعم القتالي لديه 2 أكثر من هنا وحتى لا / بن / tcsh. 870 01:03:36,060 --> 01:03:39,870 نتمكن من اقامة بوسائل أخرى أن تلك هي في الواقع نفس الملف. 871 01:03:39,870 --> 01:03:43,150 أتذكر كنت أقول إذا قمت بكتابة ركلات الترجيح تحصل باش. 872 01:03:43,150 --> 01:03:47,390 اكتب هذا وتحصل على هذا. 873 01:03:47,390 --> 01:03:51,730 ولكن تلك ليست مرتبطة. تلك واحدة منها لها هناك. 874 01:03:51,730 --> 01:03:54,910 وليس هذا هو نوع من الملفات التي يمكن استدعاء واحد آخر. 875 01:03:54,910 --> 01:03:59,460 حتى تلك هي ملفات منفصلة، ​​ومنها C-قذيفة هي نفس الملف. 876 01:03:59,460 --> 01:04:03,640 التراجع هنا، والآخر هنا، وهذا الاسم المستعار، 877 01:04:03,640 --> 01:04:09,090 نلاحظ أن يدير هذا الأمر، الملف. 878 01:04:09,090 --> 01:04:13,810 أن الاسم المستعار يدير ذلك. ملف يخبرك نوع ملف. 879 01:04:13,810 --> 01:04:20,330 FWH حتى باش KSh الوحدات. بخير. 880 01:04:20,330 --> 01:04:23,230 هذا هو إخراج الأمر ملف. 881 01:04:23,230 --> 01:04:24,630 أنا لا أعرف إذا كنت تعرف ماذا يعني هذا هنا، 882 01:04:24,630 --> 01:04:26,750 ماخ-O ثنائي عالمي مع 2 أبنية. 883 01:04:26,750 --> 01:04:30,470 هناك 2 أنواع المعالجات الممكنة في ماك، 884 01:04:30,470 --> 01:04:34,780 وكتبت بعض البرامج لتكون قادرة على تشغيل مع كليهما، 885 01:04:34,780 --> 01:04:37,950 والأمر ملف يمكن تحديد ذلك، وهذا ما يعني ذلك. 886 01:04:37,950 --> 01:04:40,660 كانت مكتوبة على حد سواء من هذه الملفات بهذه الطريقة. 887 01:04:40,660 --> 01:04:43,760 لذلك نحن نرى كيف يعمل الاسم المستعار، ونحن نرى كيف يعمل backquote، 888 01:04:43,760 --> 01:04:48,640 ونحن نرى كيف ليرة سورية ملف الفعلي أو ملف يعمل. 889 01:04:52,050 --> 01:04:57,000 هذا قد لا تعمل. محاولة "حيث حيث" و "LWH حيث". حسنا، دعونا نحاول ذلك. 890 01:04:57,000 --> 01:05:01,040 حيث مكان. 891 01:05:01,040 --> 01:05:03,500 حيث هو قذيفة مدمج. 892 01:05:03,500 --> 01:05:06,970 تذكر أظهرنا في وقت سابق أن باش لم يكن لديهم مكان. 893 01:05:06,970 --> 01:05:10,080 إذا كنت اكتب فيها في باش قذيفة، وتحصل على رسالة خطأ. 894 01:05:10,080 --> 01:05:12,540 انها مجرد جزء من قذيفة بدلا من أن تكون قيادة منفصلة. 895 01:05:12,540 --> 01:05:20,000 ماذا يحدث إذا أنا اكتب LWH يبحث عن أين؟ نرى ما يحدث هناك. 896 01:05:20,000 --> 01:05:22,850 ركض حيث حيث حصلت على هذا الإخراج، ثم حاولت تشغيل ليرة سورية 897 01:05:22,850 --> 01:05:25,600 كما لتر على المكان هو قذيفة مدمج. 898 01:05:25,600 --> 01:05:28,790 حيث هناك، ولكن بعضها الآخر لا وجود لها. 899 01:05:28,790 --> 01:05:32,090 لا شيء من هذه موجودة، في الواقع. 900 01:05:32,090 --> 01:05:35,560 بحيث لا يعمل دائما، ويوضح أيضا كيف أن بعض الأشياء 901 01:05:35,560 --> 01:05:39,580 لا تفعل تماما ما كنت قد يعتقد. 902 01:05:40,930 --> 01:05:43,010 دعونا نذهب أبعد قليلا إلى أسفل هنا. 903 01:05:44,890 --> 01:05:54,760 هذا هو هنا في باش. وهذا هو أيضا استبدال الأوامر مثل backquote. 904 01:05:54,760 --> 01:06:05,280 ولكن على عكس backquote، ويستخدم هذا النمط المتغير. 905 01:06:05,280 --> 01:06:09,860 هناك عدد من التعبيرات التي تبدأ مع علامة الدولار، 906 01:06:09,860 --> 01:06:16,070 وعلى الرغم من أن هذه ليست متغيرات، وأنها اقترضت استخدام علامة الدولار 907 01:06:16,070 --> 01:06:19,570 للإشارة إلى تعبير من نوع ما. 908 01:06:19,570 --> 01:06:23,550 التي يمكن أن تكون محاطة قوسين أو أقواس أو أقواس مزدوجة، 909 01:06:23,550 --> 01:06:26,320 الذي لديه هدف مختلف. 910 01:06:26,320 --> 01:06:29,500 أقواس واحد هنا هي إجراء تبديل الأوامر تماما مثل backquotes. 911 01:06:29,500 --> 01:06:32,720 أقواس مزدوجة هو في الواقع عملية حسابية. 912 01:06:32,720 --> 01:06:35,380 هناك جمل أخرى، غيرها من العمليات. 913 01:06:35,380 --> 01:06:41,520 جملة Backquote متاح في باش. 914 01:06:41,520 --> 01:06:46,780 ومع ذلك، هذا هو واحد من الأفضل. انه من الاسهل بكثير لقراءة ويسمح التعشيش. 915 01:06:46,780 --> 01:06:51,300 هل يمكن أن يكون داخل $ (الأمر) أمر آخر، 916 01:06:51,300 --> 01:06:54,590 شيء من هذا القبيل - 917 01:07:14,560 --> 01:07:18,210 يمكنني الحصول على قائمة هناك. 918 01:07:18,210 --> 01:07:21,670 التي من شأنها أن تعمل إذا كان لي backquote أيضا. 919 01:07:32,050 --> 01:07:38,470 ماذا لو كنت تريد أن تفعل شيئا من هذا القبيل - 920 01:08:03,390 --> 01:08:06,430 ربما كنت لا تستخدم في الواقع هذا الأمر، 921 01:08:06,430 --> 01:08:14,160 ولكن هذا الاستبدال أمر داخلي يردد أسماء جميع الملفات التي تبدأ مع، 922 01:08:14,160 --> 01:08:18,229 ثم هذا واحد يدير يرة سورية، ل على تلك الملفات، 923 01:08:18,229 --> 01:08:20,500 ثم هذا واحد فقط يردد الإخراج. 924 01:08:21,729 --> 01:08:24,479 كنت على الارجح لن تفعل هذا؛ كنت تفعل مجرد صدى أو ليرة سورية، 925 01:08:24,479 --> 01:08:29,450 ولكن هذا يوضح كيف أن تعشش من الأوامر يعمل. 926 01:08:29,450 --> 01:08:34,380 حتى مجرد ميزة أخرى هنا. 927 01:08:34,380 --> 01:08:37,450  ذكرت هذا في وقت سابق، أنه عندما يكون لديك مكان في C-قذيفة، 928 01:08:37,450 --> 01:08:42,770 اكتب أعمال في قذائف من نوع بورن لتحديد الأوامر. 929 01:08:48,939 --> 01:08:52,270 الأوامر المضمنة، فقط ما كنت أقول هناك. 930 01:08:52,270 --> 01:08:54,640 الأوامر هي جزء من شركة شل، حيث مثل. 931 01:08:54,640 --> 01:08:59,880 عند تنفيذ أمر مثل قذيفة ليرة سورية، ويقع ذلك من خلال المسار، 932 01:08:59,880 --> 01:09:03,029 يرى أنه في بعض الدليل في مكان ما، 933 01:09:03,029 --> 01:09:05,800 يقرأ ذلك في الذاكرة، ويخلق قذيفة جديدة، 934 01:09:05,800 --> 01:09:08,960 يقرأ ليرة سورية الأمر أو أيا كان في قذيفة 935 01:09:08,960 --> 01:09:11,450 حيث توجد متغيرات البيئة بالفعل، 936 01:09:11,450 --> 01:09:14,000 وبعد ذلك ينقل التنفيذ إلى ذلك. 937 01:09:14,000 --> 01:09:18,319 المدمج في الأمر ورمز لهذا الأمر داخل وعاء، 938 01:09:18,319 --> 01:09:21,460 وبالتالي فإن مجرد قذيفة يبدأ تنفيذ جزء من التعليمات البرمجية الخاصة به. 939 01:09:21,460 --> 01:09:24,569 حيث مثل هذا الأمر. فإنه يحصل في الواقع أسرع. 940 01:09:24,569 --> 01:09:28,380 أنه لا يجب أن يقرأ شيئا في الذاكرة، بل بالفعل في الذاكرة. 941 01:09:28,380 --> 01:09:32,460 الأوامر المضمنة دائما تأخذ الأسبقية على الأوامر بنفس الاسم. 942 01:09:32,460 --> 01:09:36,050 الأوامر التي هي في الدلائل في مسار قد يكون لها نفس الاسم، 943 01:09:36,050 --> 01:09:39,090 الأوامر في دلائل مختلفة، ملفات في دلائل مختلفة. 944 01:09:39,090 --> 01:09:41,740 واحد التي تحدث في مسار في وقت سابق هو واحد ستحصل. 945 01:09:41,740 --> 01:09:43,770 إذا كان هناك أمر المضمنة، يمكنك دائما الحصول عليه. 946 01:09:43,770 --> 01:09:47,890 ليس هناك طريقة لإعطائها الأسبقية أقل من أمر في المسار. 947 01:09:47,890 --> 01:09:54,140 إذا كنت ترغب في الحصول على هذا الأمر مسار، يمكنك كتابة اسم المسار الكامل. 948 01:09:54,140 --> 01:09:55,850 إذا كان هناك أمر مكان في مسار في مكان ما، 949 01:09:55,850 --> 01:09:58,440 هل يمكن أن اكتب / بن / أين وكنت أحصل عليه. 950 01:09:58,440 --> 01:10:01,800 إذا كنت لا تريد أن اكتب اسم المسار كله، هل يمكن أن تحدد اسم مستعار. 951 01:10:01,800 --> 01:10:06,310 في الواقع، إذا أعطيته الاسم المستعار نفس اسم الأمر مدمج، انها ستعمل 952 01:10:06,310 --> 01:10:08,790 لأن يتم تقييم تعريف الاسم المستعار 953 01:10:08,790 --> 01:10:13,220 قبل يحدد قذيفة أنه أمر مدمج مما ينبغي تنفيذها. 954 01:10:18,810 --> 01:10:23,440 ثم وهذا يحصل قليلا أكثر تعقيدا مع بعض الأوامر هنا. 955 01:10:23,440 --> 01:10:29,880 حالة بعض الأوامر هي مدمجة في الواقع الأوامر وفي المسار. 956 01:10:29,880 --> 01:10:34,140 واحد منهم هو الصدى، الأمر أنا فقط تستخدم منذ بعض الوقت في تلك الأمثلة. 957 01:10:34,140 --> 01:10:37,410 الصدى هو الأمر في مسار وانها في كل قذيفة. 958 01:10:37,410 --> 01:10:40,580 انهم لا بالضرورة جميع تتصرف بنفس الطريقة. 959 01:10:40,580 --> 01:10:42,970 كان في الأصل الأمر فقط في المسار. 960 01:10:42,970 --> 01:10:45,280 أنها بنيت في وقت لاحق إلى قذائف. 961 01:10:45,280 --> 01:10:48,080 لأن هناك خيارات التي تعتمد على البيئة 962 01:10:48,080 --> 01:10:52,970 وخيارات سطر الأوامر، والأوامر المضمنة 963 01:10:52,970 --> 01:10:57,030 كانت مكتوبة لتعمل نفس الأمر التي كانت في الطريق، 964 01:10:57,030 --> 01:10:59,670 فمن غير المرجح أنها كانت مكتوبة بهذه الطريقة 965 01:10:59,670 --> 01:11:01,720 إذا لم تكن قد تم كتابة الأمر عن المسار. 966 01:11:01,720 --> 01:11:06,180 ولذلك فإن هذا له آثار جانبية. تاريخها له آثار هنا. 967 01:11:06,180 --> 01:11:08,380 هناك خيارات هناك. 968 01:11:14,280 --> 01:11:23,060 هناك أيضا خيار يحددها متغير في tcsh دعا echo_style. 969 01:11:23,060 --> 01:11:27,700 هذا هو واحد من هذه المتغيرات التي يمكن أن تغير الطريقة التي يعمل صدى. 970 01:11:27,700 --> 01:11:30,910 وهناك حالات أخرى حيث يمكنك تعيين متغير 971 01:11:30,910 --> 01:11:36,290 أن يغير الطريقة أن العملية قذيفة، بما في ذلك أمر مدمج، يعمل. 972 01:11:36,290 --> 01:11:38,130 فإنه لن يؤثر على أي شيء آخر 973 01:11:38,130 --> 01:11:40,640 منذ أوامر أخرى لم يكن لديك الوصول إلى المتغيرات قذيفة، 974 01:11:40,640 --> 01:11:42,090 فقط متغيرات البيئة. 975 01:11:42,090 --> 01:11:45,360 ولكن عمليات قذيفة يمكن قراءة المتغيرات قذيفة. 976 01:11:45,360 --> 01:11:50,710 هذا لن تعمل لمستشفى الدعم القتالي. هذا tcsh فقط. هذا هو واحد من التحسينات. 977 01:11:58,540 --> 01:12:04,620 تحليل لديها تسلسل عندما يقيم metacharacters، 978 01:12:04,620 --> 01:12:08,140 عندما تقوم بتقييم المتغيرات، والأسماء المستعارة والمراجع التاريخ. 979 01:12:08,140 --> 01:12:11,830 هناك تسلسل معين لهذه الأشياء. 980 01:12:11,830 --> 01:12:13,730 إذا كان يفعل أشياء في تسلسل معين 981 01:12:13,730 --> 01:12:16,080 ويحصل على شيء وهذا تعبير من نوع 982 01:12:16,080 --> 01:12:20,650 التي سبق تقييمها، فإنه لن يقيم مرة أخرى. 983 01:12:20,650 --> 01:12:24,520 إذا كان يحصل عليه، ثم فإنه يمر على الحروف. 984 01:12:24,520 --> 01:12:29,920 إذا كان الأمر كذلك تقييم بعض التعبيرات مثل استبدال القيادة 985 01:12:29,920 --> 01:12:36,850 أو متغير أو أي شيء يؤدي إلى تعبير 986 01:12:36,850 --> 01:12:39,240 التي كنت تريد أن يتم تقييمها، 987 01:12:39,240 --> 01:12:42,510 التي ستعمل فقط في حالة حدوث ذلك التقييم في وقت لاحق في التسلسل. 988 01:12:42,510 --> 01:12:45,010 أتمنى أنا أكون واضحة هناك. 989 01:12:45,010 --> 01:12:50,460 هذا التسلسل تحليل، عملية في C-قذيفة، 990 01:12:50,460 --> 01:12:56,490 ليست هي نفسها لأوامر المدمج في كما هو الحال بالنسبة الأوامر غير المضمنة. 991 01:12:56,490 --> 01:12:58,890 أنا لست متأكدة من باش هناك. 992 01:12:58,890 --> 01:13:02,450 على سبيل المثال، إذا أنتجت متغير قذيفة مرجع التاريخ، 993 01:13:02,450 --> 01:13:04,230 أنه ربما لن نعود في التاريخ. 994 01:13:04,230 --> 01:13:06,010 انها مجرد الحصول على علامة تعجب. 995 01:13:06,010 --> 01:13:08,840 في الواقع، يمكننا أن مجرد محاولة للخروج الآن. 996 01:13:09,720 --> 01:13:18,240 تعيين = وعلينا أن نضع هذا في هناك. 997 01:13:30,690 --> 01:13:34,580 أوه، الانتظار. آسف. أنا فعلت هذا في باش. أردت أن تفعل ذلك هنا. 998 01:13:53,470 --> 01:13:56,080 ترى، لذلك لم يتم تقييم تلك الإشارة التاريخ 999 01:13:56,080 --> 01:14:00,520 لأنه كان بالفعل في الماضي نقطة تقييم التعبيرات التاريخ 1000 01:14:00,520 --> 01:14:02,720 عندما قيمت المتغير. 1001 01:14:02,720 --> 01:14:05,550 ذلك أن تأثير 1 تحليل. 1002 01:14:05,550 --> 01:14:08,760 ومرة أخرى، الأوامر المضمنة لا يتم بنفس الطريقة. 1003 01:14:08,760 --> 01:14:11,230 حسنا. دعونا نذهب إلى المرحلة التالية هنا. 1004 01:14:11,230 --> 01:14:16,060 والمقصود أن يكون خط 1، لكنه يجعلها أسهل في القراءة. 1005 01:14:19,130 --> 01:14:21,530 ماذا تفعل ذلك؟ 1006 01:14:21,530 --> 01:14:28,640 ولعلكم تذكرون أن نتمكن من تقييم العلامات النجمية كما البدل اسم الملف، 1007 01:14:28,640 --> 01:14:33,890 وهناك أحرف البدل اسم الملف الأخرى مثل علامة الاستفهام والتعبيرات قوس. 1008 01:14:33,890 --> 01:14:39,000 ويسمى هذا النوع من التقييم globbing. 1009 01:14:39,000 --> 01:14:46,290 تعيين noglob في بداية هذا الأمر يقول لا تفعل ذلك. 1010 01:14:46,290 --> 01:14:53,370 noglob ضبطه يقول أعود إلى ذلك. 1011 01:14:53,370 --> 01:14:56,440 لاحظ أن هذه المجموعة غلوب يكن لديك هذا الغرض. 1012 01:14:56,440 --> 01:15:00,800 في اللغة العادية، من شأنه أن يضبط غلوب أو noglob ضبطه ويبدو أن ما يعادلها، 1013 01:15:00,800 --> 01:15:03,290 ولكن هنا الأمر ليس كذلك. انها noglob ضبطه. 1014 01:15:05,120 --> 01:15:07,910 tset الآن. وقفت tset لمجموعة الطرفية. 1015 01:15:07,910 --> 01:15:11,840 لا تستخدم في كثير من الأحيان أن الآن، ولكن قبل أن تصبح نظم النوافذ المتاحة 1016 01:15:11,840 --> 01:15:15,760 وكان لديك محطة واحدة، قد يكون لديك لتحديد نوع. 1017 01:15:15,760 --> 01:15:18,700 وإذا كان هناك شيء كانت قادمة عبر إيثرنت أو من الشبكة، 1018 01:15:18,700 --> 01:15:21,120 قد أريد أن أقول انها VT100. 1019 01:15:21,120 --> 01:15:26,630 VT100 هو نوع من القياسية في محطة تجارية. انها تأتي من محطة ديسمبر. 1020 01:15:26,630 --> 01:15:35,270 إذا كنت تفعل مجرد الطلب الهاتفي - تلاحظ ذلك؟ هذا يعود على الطرق، هاه؟ 1021 01:15:35,270 --> 01:15:39,520 حتى إذا نحن فقط لا tset أكثر من هنا، 1022 01:15:39,520 --> 01:15:45,250 إذا كنت مجرد القيام tset، انها محطة إعادة بلدي، ولكن كنت لا ترى أي شيء. 1023 01:15:45,250 --> 01:15:47,340 فإنه لم يغير أي شيء في الواقع. 1024 01:15:47,340 --> 01:15:48,620 ليالي 1025 01:15:49,900 --> 01:15:51,480 بخير. 1026 01:15:51,480 --> 01:15:53,350 مصطلح setenv إكس تيرم لون. 1027 01:15:53,350 --> 01:15:57,080 نحن نعلم بالفعل أن مصطلح تم تعيين بهذه الطريقة، بحيث لم يتغير. 1028 01:15:57,080 --> 01:15:58,860 هذه هي الطريقة التي كنا نريد أن نفعل ذلك. 1029 01:15:58,860 --> 01:16:07,080 ولكن لاحظ أن هذا الأمر، tset-S، خرج للتو هذه الأوامر. ولم تشغيلها. 1030 01:16:07,080 --> 01:16:09,770 فإنه لم تشغيل هذه الأوامر، بل خرج منهم. 1031 01:16:09,770 --> 01:16:13,650 بحيث يكون الغرض من هذه الأوامر لإنتاج التي سيتم بعد ذلك تشغيل. 1032 01:16:13,650 --> 01:16:16,360 تتذكر الأمر في هذا الملف أنا فقط أظهرت كان لديك سؤال فيه. 1033 01:16:16,360 --> 01:16:18,910 لذلك دعونا نفعل ذلك. 1034 01:16:18,910 --> 01:16:23,750 سؤال يقمع بعض الانتاج، ولكن هذا لا يهم هنا، كما ترون. 1035 01:16:23,750 --> 01:16:27,980 أنا فقط تفعل ذلك لتظهر لك أنه لا يهم. 1036 01:16:27,980 --> 01:16:31,870 هذا هو في جملة backquote. 1037 01:16:31,870 --> 01:16:35,340 لاحظ هنا backquote، backquote هنا. 1038 01:16:35,340 --> 01:16:37,680 أنا إهمال هذه الأمور هنا. 1039 01:16:37,680 --> 01:16:39,570 وهذه هي الحالات من قول ذلك ما يجب القيام به 1040 01:16:39,570 --> 01:16:42,050 في حالة أنواع معينة من المحطات - 1041 01:16:42,050 --> 01:16:45,400 إيثرنت، الشبكة، الاتصال الهاتفي، ماذا لديكم. 1042 01:16:45,400 --> 01:16:48,050 لا يهم هنا لأننا لا تفعل في الواقع أي من هذه الأشياء. 1043 01:16:48,050 --> 01:16:49,720 أنا فقط توضيح الأمر. 1044 01:16:49,720 --> 01:16:55,170 إذا كنت تفعل هذا مع backquote، ما أنا ذاهب للحصول على؟ 1045 01:16:55,170 --> 01:17:00,210 كما تلاحظ هنا أن هذه تضمنت مجموعة noglob وnoglob ضبطه، 1046 01:17:00,210 --> 01:17:02,630 حتى تلك هي زائدة عن الحاجة الآن في التعريف. 1047 01:17:02,630 --> 01:17:05,380 لم يكن ذلك صحيحا دائما، ولكن الآن انهم المدرجة في هذا الأمر. 1048 01:17:05,380 --> 01:17:08,890 ولكن دعونا نرى ما سيحدث إذا فعلت ذلك 1049 01:17:08,890 --> 01:17:12,570 وانتقل إلى بداية السطر مع التحكم A، وأنا أفعل ذلك. 1050 01:17:14,380 --> 01:17:18,040 حسنا، مجموعة: القيادة غير موجود. هذا نوع من الغريب، أليس كذلك؟ 1051 01:17:18,040 --> 01:17:20,570 مجموعة هو أمر معروف. انها جزء من قذيفة. 1052 01:17:20,570 --> 01:17:24,040 مجموعة: القيادة لم يتم العثور؟ لماذا؟ 1053 01:17:24,040 --> 01:17:26,790 هم. حسنا، دعونا نفكر في هذا. 1054 01:17:26,790 --> 01:17:31,100 انها تعمل على استبدال القيادة backquote، 1055 01:17:31,100 --> 01:17:37,430 ويحدث ذلك في جزء معين من تسلسل تحليل الأمر. 1056 01:17:37,430 --> 01:17:40,360 مجموعة هو أمر المضمنة. 1057 01:17:40,360 --> 01:17:43,900 ذلك في الوقت الذي يفعل ذلك استبدال الأوامر، 1058 01:17:43,900 --> 01:17:48,280 انها حصلت بالفعل بعد نقطة من تحديد الأوامر المضمنة. 1059 01:17:48,280 --> 01:17:51,900 لذلك يعامل تعيين كما لو كان أمر في المسار. 1060 01:17:51,900 --> 01:17:55,440 وغني عن القول، فإنه لا تجد وتحصل على خطأ. 1061 01:17:55,440 --> 01:17:59,300 أيضا. هناك مثال على تسلسل تحليل. 1062 01:17:59,300 --> 01:18:01,460 وماذا نفعل حيال ذلك؟ 1063 01:18:01,460 --> 01:18:04,800 لاحظت هذا الأمر مثير جدا للاهتمام هنا، وحدة التقييم. 1064 01:18:04,800 --> 01:18:06,530 وأتساءل ما الذي يفعل. 1065 01:18:06,530 --> 01:18:08,760 اذا نظرتم الى دليل - ودعونا نفعل ذلك تماما 1066 01:18:08,760 --> 01:18:12,000 لاظهار كيف مربكة هذه الأدلة هي - 1067 01:18:12,000 --> 01:18:19,400 رجل tcsh، دليل الخلط، وإيجاد الأشياء هنا ليست سهلة سواء. 1068 01:18:19,400 --> 01:18:31,850 هنا نذهب، وحدة التقييم وسيطة، ولذا فإننا يمكن أن يكون 1 أو أكثر الحجج 1069 01:18:31,850 --> 01:18:34,090 وهناك قائمة من الأشياء هناك. 1070 01:18:34,090 --> 01:18:37,730 يعامل الحجج كمدخلات لقذيفة 1071 01:18:37,730 --> 01:18:43,600 وينفذ الأوامر الناتجة في سياق قذيفة الحالية. 1072 01:18:43,600 --> 01:18:46,900 وعادة ما يستخدم هذا لتنفيذ الأوامر ولدت نتيجة للقيادة 1073 01:18:46,900 --> 01:18:51,310 أو استبدال متغير لتوزيع يحدث قبل هذه التبديلات. 1074 01:18:51,310 --> 01:18:52,580 جيدة جدا. 1075 01:18:52,580 --> 01:18:54,740 وهنا حتى أنها تشير إلى الأمر tset لاستخدام عينة 1076 01:18:54,740 --> 01:18:57,700 مثل واحد أنا فقط أظهرت لك. 1077 01:18:57,700 --> 01:19:00,440 الآن لا بد لي من الحصول على النافذة الخلفية لمكان مفيدة. 1078 01:19:03,150 --> 01:19:07,800 دعونا الحصول على أكثر من هنا وسنرى أن يتم استخدام وحدة التقييم قبل ذلك. 1079 01:19:07,800 --> 01:19:14,010 لذلك دعونا نرى ما سيحدث إذا وضعنا - هنا نذهب مع الأسهم لهذا الأمر 1080 01:19:14,010 --> 01:19:20,940 وتحكم الألف إلى البداية، وحدة التقييم. 1081 01:19:20,940 --> 01:19:22,850 حسنا، لذلك يعمل. 1082 01:19:22,850 --> 01:19:26,440 عندما تفعل حدة التقييم، فإنه يأخذ ما يأتي بعد ذلك ويجعل من أمر. 1083 01:19:26,440 --> 01:19:29,460 وهذا يتيح لك لتحليل أساسا مرتين. 1084 01:19:29,460 --> 01:19:33,710 يدير القسم هنا هذا الأمر داخل backquotes، 1085 01:19:33,710 --> 01:19:36,210 يحصل الإخراج. 1086 01:19:36,210 --> 01:19:42,850 من المفترض أن يتم تشغيلها مثل تلك الأوامر هنا الناتج مثل هذه 1087 01:19:42,850 --> 01:19:45,890 في هذا واحد وهذا واحد. 1088 01:19:45,890 --> 01:19:50,100 حتى تلك الأوامر هي الآن هنا في هذا التسلسل، 1089 01:19:50,100 --> 01:19:58,950 ولكن يتم بناؤها في هذه الأوامر وأنه لا يمكن الحصول عليها على الفور. 1090 01:19:58,950 --> 01:20:06,440 لذلك نذهب إلى وحدة التقييم، وحدة التقييم يختار أن ما يصل، ويبدأ كل شيء من جديد، وأنه يعمل. 1091 01:20:06,440 --> 01:20:18,460 مثال كل من backquoting، وحدة التقييم، تحليل، تحليل عواقب، 1092 01:20:18,460 --> 01:20:21,910 وأمر الذي هو على الارجح من استخدام القليل جدا لك في الوقت الحاضر. 1093 01:20:21,910 --> 01:20:25,540 بخير. كل الحق، umask. 1094 01:20:25,540 --> 01:20:32,160 دعونا ننظر في هذا الأمر هنا، umask 022. وأتساءل ما الذي يفعل. 1095 01:20:32,160 --> 01:20:38,420 دعونا فقط اكتب umask مع أي شيء بعد ذلك. 22. بخير. 1096 01:20:38,420 --> 01:20:44,350 022 ونفعل ذلك مرة أخرى. 1097 01:20:44,350 --> 01:20:48,580 كما كنت قد خمنت، umask بدون وسائط يخبرك قناع الحالي؛ 1098 01:20:48,580 --> 01:20:51,760 umask مع الحجج يجعل من ذلك، ولكن ذلك كان واحدة وأنا بالفعل كان. 1099 01:20:51,760 --> 01:20:53,800 ماذا يعني 022؟ 1100 01:21:01,650 --> 01:21:07,080 هذه هنا هي الحماية للملف. 1101 01:21:07,080 --> 01:21:11,440 أنها تحدد من يسمح له قراءة أو كتابة أو تنفيذ الملف. 1102 01:21:11,440 --> 01:21:16,560 وتسمى أيضا الحماية الأذونات. 1103 01:21:16,560 --> 01:21:21,390 ص تقف للقراءة، ث للكتابة، 1104 01:21:21,390 --> 01:21:25,500 والعاشر، الذي لم يكن موجودا هناك، لتقف على تنفيذه. 1105 01:21:25,500 --> 01:21:27,260 هناك 3 فئات هناك. 1106 01:21:27,260 --> 01:21:33,540 العناصر ال 3 الماضية هي في فئة المستخدم. هذه تنطبق على لي، المستخدم. 1107 01:21:33,540 --> 01:21:36,870 هذه 3 هنا تنطبق على المجموعة. 1108 01:21:36,870 --> 01:21:41,590 الملف ينتمي إلى المجموعة 1، يجوز لمستخدم وتنتمي إلى عدة مجموعات، 1109 01:21:41,590 --> 01:21:47,150 ولكن إذا كان المستخدم في المجموعة التي ينتمي إليها هذا الملف، 1110 01:21:47,150 --> 01:21:51,090 ثم سيتم تطبيق هذه الحماية له اذا كان لا المستخدم. 1111 01:21:51,090 --> 01:21:54,230 وهذا هو واحد الجميع. 1112 01:21:55,540 --> 01:21:57,690 هذه الفئات لا يجتمعان. 1113 01:21:57,690 --> 01:21:59,750 تطبيق الحماية المستخدم له، 1114 01:21:59,750 --> 01:22:03,780 تطبيق الحماية مجموعة لأعضاء مجموعة أخرى من المستخدمين، 1115 01:22:03,780 --> 01:22:08,110 وتطبيق الحماية الأخرى فقط لأشخاص آخرين من المستخدم وأعضاء المجموعة. 1116 01:22:08,110 --> 01:22:12,320 اذا كان هناك فصيل عبد الواحد ص أو أو العاشر، وهو ما يعني أن يتم منح الحماية. 1117 01:22:12,320 --> 01:22:13,950 إذا كان هناك واصلة، فهذا يعني أنها ليست كذلك. 1118 01:22:13,950 --> 01:22:16,690 هناك في الواقع غيرها من الأمور التي يمكن وضعها في هنا إلى جانب هذه، 1119 01:22:16,690 --> 01:22:18,350 الذي أنا لن ندخل الآن. 1120 01:22:18,350 --> 01:22:24,450 يحدد umask الافتراضي للملفات التي تقوم بإنشائها. 1121 01:22:24,450 --> 01:22:28,580 وكقناع، وأساسا تقول البتات التي لم تقم بتعيين. 1122 01:22:28,580 --> 01:22:30,450 كيف أصبح هذا بت؟ 1123 01:22:30,450 --> 01:22:33,240 إذا كنت تعتقد كل من هذه إلى عدد ثماني، 1124 01:22:33,240 --> 01:22:42,120 هذا هو الشيء 1S، و هذا هو 2S، وهذا هو 4S. 1125 01:22:42,120 --> 01:22:45,840 لذلك 0 من خلال 7 1126 01:22:45,840 --> 01:22:51,770 ووصف ما مزيج من ص، وث، وعلامات x وكان لديك لهذه 3 1127 01:22:51,770 --> 01:22:53,710 ثم عدد مماثل لهذه ثم لهؤلاء. 1128 01:22:53,710 --> 01:23:12,030 ذلك يعني 022 0 لأخرى، 2 للمجموعة، 2 للمستخدم. 1129 01:23:12,030 --> 01:23:15,870 ولكن هذا هو قناع. القناع هو ما لم يكن لديك. 1130 01:23:19,380 --> 01:23:20,610 أنا آسف. أنا فقط أعطاك الأشياء بالترتيب الخاطئ. 1131 01:23:20,610 --> 01:23:25,620 انها أول 3. هذه هي 3 مستخدم، وهذه هي المجموعة 3، 3 هذه هي الأخرى. 1132 01:23:25,620 --> 01:23:27,970 آسف أعطيتك هذه في أمر خاطئ. 1133 01:23:27,970 --> 01:23:31,910 و0، الذي يعتبر الأول من تلك، لا يعرض القيمة، 1134 01:23:31,910 --> 01:23:35,430 ولكن إذا كان العدد ليس هناك، انها 0. 1135 01:23:35,430 --> 01:23:38,370 وهذا يعني انه لن يسمح كل 3 من هذه. 1136 01:23:38,370 --> 01:23:41,550 تلاحظ أن لا يسمح للس في هذا واحد بعينه. 1137 01:23:41,550 --> 01:23:44,090 والسبب هو أن قذيفة قادرة على تحديد 1138 01:23:44,090 --> 01:23:46,260 ما إذا كان ينبغي تنفيذ ملف أم لا. 1139 01:23:46,260 --> 01:23:49,800 لأن هذا ليس ملف تنفيذي، فإنه لم يتم تعيين س. 1140 01:23:49,800 --> 01:23:54,000 2 الوسائل التي الكتابة إذن، والفئة الثانية هنا، 1141 01:23:54,000 --> 01:23:56,500 واحد في الوسط، تم رفض. 1142 01:23:56,500 --> 01:23:58,500 ذلك مرة أخرى، وهذه هي الأشياء التي رفض. 1143 01:23:58,500 --> 01:24:02,080 كذلك، يسمح العاشر ولكنها ليست هنا لأنها ليست قابلة للتنفيذ 1144 01:24:02,080 --> 01:24:04,260 وبالمثل بالنسبة للآخرين. 1145 01:24:04,260 --> 01:24:08,880 لذلك هذا هو umask المشتركة. 1146 01:24:08,880 --> 01:24:14,630 واحد آخر شائع هو 700 - تعطي لنفسك كل شيء، وليس لأحد غيرهم أي شيء. 1147 01:24:14,630 --> 01:24:17,040 وهناك احتمالات أخرى. 1148 01:24:21,340 --> 01:24:27,110 سوف أعود إلى ذلك. باستخدام التاريخ يمكنني البحث مرة أخرى لذلك، LWH إلى هناك. 1149 01:24:27,110 --> 01:24:30,210 بخير. حتى هنا، وهذه هي قذائف. 1150 01:24:30,210 --> 01:24:36,020 باش، المالك الذي هو حساب النظام، يمكن أن تفعل كل شيء. 1151 01:24:36,020 --> 01:24:41,210 يمكن الجماعة والجميع القيام بقراءة أو تنفيذ ولكن ليس الكتابة. 1152 01:24:41,210 --> 01:24:44,570 هذا واحد حتى لا يسمح للمالك أن الكتابة إليه. 1153 01:24:44,570 --> 01:24:46,460 إذا كان المالك يرغب في الكتابة إليه، حساب النظام، 1154 01:24:46,460 --> 01:24:48,020 وقال انه كان لتغيير الحماية الأول. 1155 01:24:48,020 --> 01:24:53,940 ولكن مرة أخرى، وumask يحدد الافتراضي عن طريق اخفاء ذلك، 1156 01:24:53,940 --> 01:24:57,160 من خلال تحديد البتات التي لن يتم تعيين. 1157 01:24:57,160 --> 01:25:04,380 هذا هو عادة في واحدة من ملفات التهيئة الخاص بك، والذي هو. cshrc لC-قذيفة 1158 01:25:04,380 --> 01:25:07,500 أو. الملف الشخصي للقذائف من نوع بورن. 1159 01:25:07,500 --> 01:25:12,520 يمكن أن يكون في مكان آخر أيضا إذا كانت هناك ملفات التهيئة أخرى على النظام. 1160 01:25:12,520 --> 01:25:14,610 على أي حال، هذا umask. 1161 01:25:14,610 --> 01:25:18,180 هناك شيء غريب نوع من هنا، 1162 01:25:18,180 --> 01:25:22,800 وهذا هو، لماذا هناك أمر واحد لهذا؟ 1163 01:25:22,800 --> 01:25:28,690 لو كنت أكتب هذا، وأود أن تجعل من متغير، umask = بعض القيمة. 1164 01:25:28,690 --> 01:25:31,100 لماذا هناك أمر كله فقط لهذا الغرض؟ 1165 01:25:31,100 --> 01:25:34,560 والسبب هو هذا يذهب لتوه إلى أصول يونكس. 1166 01:25:34,560 --> 01:25:41,050 كان يونكس فقط بعض المشاريع البرمجة في مختبرات بيل في أوائل 1970s. 1167 01:25:41,050 --> 01:25:42,610 الناس فقط حصلت معا لالبرنامج. 1168 01:25:42,610 --> 01:25:45,290 انهم لم يقصد به أن يصبح نظام التشغيل في جميع أنحاء العالم. 1169 01:25:45,290 --> 01:25:47,250 الناس مختلفة كتب أجزاء مختلفة من دون التفكير كثيرا 1170 01:25:47,250 --> 01:25:49,790 كيف كانوا في طريقهم لاستخدامها - واضحة إلى حد ما. 1171 01:25:49,790 --> 01:25:53,290 وجاء معا من هذا القبيل، وانها لا تزال من هذا القبيل في بعض النواحي. 1172 01:25:53,290 --> 01:25:57,930 بحيث يعكس التاريخ، ومازالت هناك عناصر هذه التناقضات ونيف من ذلك. 1173 01:25:57,930 --> 01:26:00,750 بخير. احد القادم هنا. 1174 01:26:08,170 --> 01:26:11,000 كما كتبت في وقت سابق، لا يتم استخدام C-قذيفة حقا كثيرا للبرمجة، 1175 01:26:11,000 --> 01:26:12,420 على الرغم من أنه يمكن أن يكون. 1176 01:26:12,420 --> 01:26:15,080 ينفذ ببطء أكثر، ومرة ​​أخرى للمفاضلة بين استخدام تفاعلية، 1177 01:26:15,080 --> 01:26:17,820 التي لديها اكثر من سرعة تجهيز المعنية، 1178 01:26:17,820 --> 01:26:20,710 والتي يمكن أن تفعل ذلك بدون معالجة. 1179 01:26:20,710 --> 01:26:28,320 ميزات اضافية تضاف إلى وعاء بورن من قبل كورن وبورن مرة أخرى قذائف 1180 01:26:28,320 --> 01:26:32,120 لا يبدو لإبطاء، وأنا لا أعرف لماذا هذا هو. 1181 01:26:32,120 --> 01:26:36,310 قد يكون مجرد برمجة أفضل، ولكن أنا لست في وضع يمكنها من معرفة. 1182 01:26:36,310 --> 01:26:40,420 سرعة هنا هو في الواقع ليست مثل هذه الصفقة الكبيرة، على الرغم من أنه مذكور. 1183 01:26:40,420 --> 01:26:43,690 والسبب هو أن البرامج النصية قذيفة في الواقع الحصول بسرعة إلى حد ما. 1184 01:26:43,690 --> 01:26:46,450 إذا كان هناك الكثير من الأوامر مثل في برنامج حسابية، 1185 01:26:46,450 --> 01:26:49,110 كنت على الارجح لن تفعل ذلك في برنامج نصي قذيفة. 1186 01:26:49,110 --> 01:26:51,450 العمليات هناك بسيطة الى حد كبير ومباشر. 1187 01:26:51,450 --> 01:26:53,960 تلك التي كنت من ذوي الخبرة التي تكون بطيئة جدا 1188 01:26:53,960 --> 01:26:57,110 تشمل التطبيقات المتكررة للأوامر بطيئة. 1189 01:26:57,110 --> 01:27:00,480 لقد ذكرت من قبل محرر تيار الحوار الاقتصادي الاستراتيجي. هذا الأمر بطيء. 1190 01:27:00,480 --> 01:27:03,760 إذا كنت تنفيذ ااا مرات عديدة، وستحصل على برنامج نصي بطيئة، ولكنها ليست القذيفة التي بطيئة. 1191 01:27:03,760 --> 01:27:07,920 سوف تشغيله في بورن قذيفة لا تكون أسرع بكثير من تشغيله في C-قذيفة، 1192 01:27:07,920 --> 01:27:10,070 على الرغم من أن هناك ربما بعض المزايا هناك. 1193 01:27:10,070 --> 01:27:12,760 قدرات البرمجة إضافية، من ناحية أخرى، 1194 01:27:12,760 --> 01:27:17,920 أسباب هامة لماذا كنت تستخدم قذائف من نوع بورن. 1195 01:27:17,920 --> 01:27:21,390 C-قذيفة من الميزات الفردية لذلك - 1196 01:27:21,390 --> 01:27:25,250 حقيقة أن كنت لا تعرف ما إذا كان المتغير هو متغير قذيفة أو متغير بيئة. 1197 01:27:25,250 --> 01:27:27,440 يمكن أن يكون مربكا للغاية. 1198 01:27:27,440 --> 01:27:32,170 انها ليست من السهل جدا أن يكتب 1199 01:27:32,170 --> 01:27:35,930 تستند فقط على تجربتك البرمجة بلغات أخرى. 1200 01:27:35,930 --> 01:27:41,350 أعتقد أنك قد تجد قذائف من نوع بورن أكثر اتساقا مع تجربتك. 1201 01:27:43,730 --> 01:27:49,270 بعض النصوص، رغم ذلك، يمكن أن يكون الآلاف من الخطوط في طول. 1202 01:27:49,270 --> 01:27:52,450 تلك التي رأيتها تستخدم لترميم أنظمة التشغيل. 1203 01:27:52,450 --> 01:27:55,450 تلك يمكن تنفيذ ببطء شديد، ولكن لم تقم بتشغيل تلك في كثير من الأحيان. 1204 01:27:55,450 --> 01:27:57,180 انها فقط عندما كنت تفعل الترقيع، 1205 01:27:57,180 --> 01:27:59,450 وانها فقط لمدير النظام الذي يفعل تلك الأشياء، 1206 01:27:59,450 --> 01:28:01,840 حتى انها ليست حقا الكثير من قضية. 1207 01:28:01,840 --> 01:28:06,980 تلك التي هي مئات طوابير طويلة تنفيذ في الواقع بسرعة إلى حد ما. 1208 01:28:06,980 --> 01:28:10,540 ذكر هذا هنا، ما هي تلك التحسينات؟ 1209 01:28:10,540 --> 01:28:13,170 لقد سبق ذكرها عدد قليل منهم - المصفوفات، العمليات الحسابية، 1210 01:28:13,170 --> 01:28:20,540 و$ () التعبير لإجراء العمليات الحسابية في باش قذيفة، 1211 01:28:20,540 --> 01:28:23,050 نوع آخر من استبدال القيادة. 1212 01:28:23,050 --> 01:28:25,360 هناك أنواع مختلفة من الأوامر اختبار 1213 01:28:25,360 --> 01:28:29,350 التي يمكنك القيام به اختبارات شرطية على وجود ملف أو أشياء أخرى. 1214 01:28:29,350 --> 01:28:34,790 آخر هنا، هذا الأمر هنا. 1215 01:28:34,790 --> 01:28:38,480 ماذا يعني هذا القيام به، وماذا أي شخص استخدامه؟ 1216 01:28:51,170 --> 01:28:52,990 variablename printenv. 1217 01:28:52,990 --> 01:28:56,130 نحن نعرف ما printenv لا. فإنه يروي لنا قيمة متغير. 1218 01:28:56,130 --> 01:29:00,850 وسوف variablename printenv لا تخبرنا الكثير جدا لأنه لا توجد مثل هذه المتغير. 1219 01:29:03,550 --> 01:29:05,120 فارغة. 1220 01:29:05,120 --> 01:29:08,440 ولكن دعونا تعطيه شيء مفيد. 1221 01:29:13,420 --> 01:29:16,800 هذا ليس هناك سواء. بخير. اعتقد انني لم يعرف ذلك. 1222 01:29:16,800 --> 01:29:18,020 دعونا تحقق فقط بيئتي. 1223 01:29:18,020 --> 01:29:20,900 هذا هو أمر آخر التي يمكنك فحص البيئة الخاصة بك. 1224 01:29:20,900 --> 01:29:24,470 هناك المحرر الخوالي، واحد رأيناه من قبل. 1225 01:29:42,360 --> 01:29:44,120 ماذا تفعل ذلك؟ 1226 01:29:44,120 --> 01:29:48,050 هنا لدينا التعبير backquote. 1227 01:29:48,050 --> 01:29:50,370 نتذكر هذا هو C-قذيفة. 1228 01:29:50,370 --> 01:29:54,850 حتى المحرر printenv سوف تعطينا قيمة المحرر. انها السادس. 1229 01:29:54,850 --> 01:29:59,790 وبعد ذلك سيتم تعيين هذه القيمة إلى متغير، الأمر set. 1230 01:29:59,790 --> 01:30:02,860 حتى الآن إذا كنت تفعل صدى دولار، وأحصل السادس. 1231 01:30:02,860 --> 01:30:05,850 لا يبدو من المفيد بشكل رهيب. 1232 01:30:05,850 --> 01:30:08,080 ومع ذلك، فإنه في الواقع لا يكون لها هدف. 1233 01:30:08,080 --> 01:30:12,260 وبما أننا لا نعرف ما إذا كان المتغير هو متغير قذيفة أو متغير بيئة 1234 01:30:12,260 --> 01:30:16,280 باستخدام بناء الجملة التقييم علامة الدولار، يمكننا استخدام printenv 1235 01:30:16,280 --> 01:30:19,460 للتأكد من أنه متغير بيئة. 1236 01:30:19,460 --> 01:30:22,550 حتى إذا كانت هناك قذيفة محرر متغير، وهذا لن قد حصلت عليه. 1237 01:30:22,550 --> 01:30:25,640 هذا يعمل فقط مع متغير البيئة. 1238 01:30:25,640 --> 01:30:28,370 إذا كان هناك متغير قذيفة وأردت قيمته، 1239 01:30:28,370 --> 01:30:29,980 كنت قد تجد بعض طريقة أخرى للقيام بذلك. 1240 01:30:29,980 --> 01:30:33,530 أن طريقة واحدة للقيام بذلك يكون عن طريق القيام مجموعة والأنابيب. 1241 01:30:33,530 --> 01:30:36,130 هذا هو واحد من metacharacters والأحرف الخاصة. 1242 01:30:36,130 --> 01:30:38,370 فهو يرسل إخراج مجموعة إلى شيء آخر. 1243 01:30:38,370 --> 01:30:40,650 دعونا نرى ما قد تجد هناك. 1244 01:30:40,650 --> 01:30:49,340 لا شيء. بخير. دعونا نرى ما هو في وجود كل ذلك معا. 1245 01:30:49,340 --> 01:30:53,580 كان echo_style، واحدة ذكرتها من قبل. حسنا، دعونا نفعل ذلك. 1246 01:31:02,460 --> 01:31:06,230 أذكر أنني ذكرت من قبل، echo_style 1247 01:31:06,230 --> 01:31:08,410 يحدد الطريقة سيتم تشغيل الأمر echo. 1248 01:31:08,410 --> 01:31:10,940 BSD تقف على توزيع بيركلي قياسي. 1249 01:31:10,940 --> 01:31:13,200 هذا هو بيركلي يونكس من 1970s. 1250 01:31:13,200 --> 01:31:16,630 هذا هو واحد من الطرق التي يمكن تشغيلها صدى. 1251 01:31:16,630 --> 01:31:22,310 ووضع echo_style إلى تلك القيمة في TC-قذيفة يسبب صدى على التصرف بهذه الطريقة. 1252 01:31:22,310 --> 01:31:27,670 حتى تعيين يفعل ذلك، ولكن لا يحصل الا تعيين المتغيرات قذيفة. 1253 01:31:27,670 --> 01:31:35,430 فإنه لن يجد المحرر، وهي ليست متغير قذيفة. 1254 01:31:36,870 --> 01:31:38,050 لا شيء. 1255 01:31:38,050 --> 01:31:39,660 ذلك أن طريقة واحدة لتمييزها. 1256 01:31:39,660 --> 01:31:42,000 ولكن الحقيقة أن عليك أن تذهب من خلال بعض الأوامر غريبة من هذا القبيل 1257 01:31:42,000 --> 01:31:45,500 التمييز بين المتغيرات قذيفة أو متغيرات البيئة 1258 01:31:45,500 --> 01:31:49,970 يظهر هذا النوع من طبيعة عملي من C-قذيفة لبعض الأغراض. 1259 01:31:52,290 --> 01:31:57,960 والآن، وربما مشاركة الأقل، وهذا هو صفحة رجل. 1260 01:31:57,960 --> 01:32:03,190 أولئك الذين تعلمون، الرجل القصير هو أمر لدليل. 1261 01:32:03,190 --> 01:32:08,610 صفحات الرجل لقذائف من الصعب قراءتها. انهم طويلة جدا. 1262 01:32:08,610 --> 01:32:14,060 كنت تنظيمها بطريقة قد تجعل من الصعب العثور على ما كنت أبحث عنه. 1263 01:32:14,060 --> 01:32:15,980 حتى إذا كنت تبحث عن شيء مع الغرض، 1264 01:32:15,980 --> 01:32:20,050 قد لا أعرف إذا كان هذا الغرض هو متغير قذيفة أو أي شيء آخر، 1265 01:32:20,050 --> 01:32:21,630 لذا قد لا تعرف أن ننظر فيها لذلك. 1266 01:32:21,630 --> 01:32:25,030 يمكنك البحث عن سلاسل مختلفة، ولكن غالبا ما يتم تكرار الجمل. 1267 01:32:25,030 --> 01:32:27,640 لذلك فمن الصعب قراءة عموما. 1268 01:32:27,640 --> 01:32:33,810 ونحن ننظر فقط في الصفحة رجل TC-قذيفة قليلا قبل أن يجد الأمر وحدة التقييم. 1269 01:32:33,810 --> 01:32:36,610 بعض الأشياء بشكل أسرع. 1270 01:32:36,610 --> 01:32:38,860 نهج واحد هو البحث عن سلسلة. 1271 01:32:38,860 --> 01:32:40,360 يمكنك استخدام البيجر. 1272 01:32:40,360 --> 01:32:49,080 النداء لديه مائل للبحث عن أمر أو سلسلة داخل عملية الاستدعاء. 1273 01:32:49,080 --> 01:32:52,830 والرجل بشكل افتراضي استخدام أجهزة الاستدعاء، وإما أن يكون أكثر أو أقل. 1274 01:32:52,830 --> 01:32:56,560 أنا لا أعرف ما إذا كنت على دراية تلك، ولكن يمكن أن تظهر تلك الملفات شيئا فشيئا. 1275 01:32:56,560 --> 01:33:00,550 لقد تم استخدام أقل لعرض هذه الملفات خاصة لدينا هنا. 1276 01:33:00,550 --> 01:33:03,300 يمكنك البحث داخل هناك. 1277 01:33:03,300 --> 01:33:04,880 يمكنك محاولة استخدام سلاسل البحث المختلفة. 1278 01:33:04,880 --> 01:33:08,420 أيضا صفحات رجل في أنظمة تشغيل مختلفة قد لا تكون هي نفسها. 1279 01:33:08,420 --> 01:33:11,130 يمكن أن تكون صفحات منفصلة لمستشفى الدعم القتالي وtcsh. 1280 01:33:11,130 --> 01:33:14,500 انهم ليسوا على ماك، ولكن لأنها قد تكون تلك هي الأوامر إذا منفصلة. 1281 01:33:14,500 --> 01:33:19,000 إذا ش لا يدعو حقا باش، وربما سيكون هناك صفحة رجل منفصلة. 1282 01:33:19,000 --> 01:33:25,820 بعض الأنظمة لديها صفحات منفصلة رجل لمجرد C-قذيفة الأوامر المضمنة. 1283 01:33:25,820 --> 01:33:30,250 في بعض الأحيان إذا كنت تريد أن تقرأ وصفا لأمر المدمج في 1284 01:33:30,250 --> 01:33:35,350 وهذا أيضا في المسار، مثل الصدى، تحتاج إلى قراءة الصفحة رجل على هذا الأمر على الصدى 1285 01:33:35,350 --> 01:33:37,610 لتحديد الكيفية التي سوف تعمل كأمر المدمج في 1286 01:33:37,610 --> 01:33:39,760 حتى لو كنت لا ندعو الأمر المضمنة. 1287 01:33:41,630 --> 01:33:46,090 وهذا العيب من نظام التشغيل بشكل عام، وليس فقط بالنسبة للقذائف، 1288 01:33:46,090 --> 01:33:50,710 على الرغم من أن للقذائف وبخاصة صفحات الرجل هي طويلة جدا، 1289 01:33:50,710 --> 01:33:56,180 ويرجع ذلك جزئيا انهم أضاف الخصائص المفيدة لهم، والتي قد تكون إيجابية. 1290 01:33:56,180 --> 01:34:00,290 بخير. هل هناك أي أسئلة؟ أي الموضوعات التي تريد أن تجلب ما يصل؟ 1291 01:34:00,290 --> 01:34:03,390 أي شيء ذات الصلة هنا؟ 1292 01:34:04,540 --> 01:34:07,100 حسنا، انها كانت لطيفة جدا نتحدث لكم جميعا. 1293 01:34:07,100 --> 01:34:09,690 آمل أنك حصلت على شيء من هذه الندوة 1294 01:34:09,690 --> 01:34:13,080 التي من شأنها أن تكون مفيدة بالنسبة لك في مساعيكم في المستقبل. 1295 01:34:17,330 --> 01:34:19,000 [CS50.TV]