1 00:00:00,000 --> 00:00:02,320 >> [سیمینار - یونیکس گولے، ماحول] 2 00:00:02,320 --> 00:00:04,180 [ڈگلس Kline - ہارورڈ یونیورسٹی] 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 میں ڈگلس Kline، ماہر، یا شیل کے کم از کم مناسب مجاز صارف، ہوں. 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 لڑائی بی اے یو آر ن 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 >> شیل حکم دیتا ہے parses. 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 ایک سی شیل ہے. کمانڈ csh ہے. 56 00:03:34,520 --> 00:03:36,830 نام سی شیل الفاظ پر صرف ایک ڈرامہ ہے. 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 الفاظ پر ہے کہ کھیل کے لئے کی وجہ سے، سی شیل، 61 00:03:50,790 --> 00:03:56,490 ، سی شیل 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 ٹیسی شیل بھی ہے. 65 00:04:05,190 --> 00:04:07,360 یہ سی شیل کی superset ہے. 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 تاہم، سی شیل اکثر شیل پروگرامنگ کے لئے استعمال کیا جاتا ہے. 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 یہ اصل سی شیل، csh صرف رجوع کر سکتے ہیں کے بعد کے جملہ سی شیل، اب مبہم ہے 80 00:04:57,320 --> 00:05:01,200 یا 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 انٹرایکٹو استعمال کے لئے سی شیل کے فوائد 84 00:05:16,960 --> 00:05:19,230 اور Bourne پروگرامنگ کے لئے شیل. 85 00:05:19,230 --> 00:05:25,440 ایک اقلیت - یہ کچھ لوگوں کی طرف سے ایک انٹرایکٹو شیل کے طور پر استعمال کیا گیا ہے. 86 00:05:25,440 --> 00:05:32,050 بعد میں اگرچہ، ایک دوسرے کا تعارف تھا، پارٹی شیل پارٹی، 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 یہ amalgamating کے کورن شیل کے ایک ہی مقاصد ہیں سی شیل کی 90 00:05:48,100 --> 00:05:50,980 1 شیل میں اور Bourne شیل کے فوائد. 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 سی شیل کے ساتھ کچھ معاملات میں مطابقت نہیں ہیں. 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 بعد ازاں یہاں، سی شیل سکرپٹ ٹیسی شیل کے تحت چلانا چاہئے. 115 00:07:38,850 --> 00:07:41,690 سی شیل اصل میں بڑے پیمانے پر سکرپٹ کے لیے استعمال نہیں کیا گیا 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 >> پارٹی آپریٹنگ سسٹمز کے لئے زبان Lingua Franca کی ایک قسم بننے کچھ حد تک ہے. 124 00:08:12,840 --> 00:08:17,580 یہ پہلے ہی ونڈوز اور وییمایس کے لئے بڑھا دیا گیا ہے. 125 00:08:17,580 --> 00:08:20,440 وییمایس، تم نہیں جانتے صورت میں، ایک ملکیتی آپریٹنگ سسٹم ہے 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 یہ صرف شروعات ہے، تو یہ واقعی زبان Lingua Franca اس طرح ثابت ہو گا اگر میں نے پیش گوئی نہیں کر سکتے. 131 00:08:39,490 --> 00:08:43,539 اس کے علاوہ، فائل pathnames اور لائبریریوں اختلاف کی وجہ 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 میک OS آپریٹنگ سسٹمز لیکن ضروری نہیں کہ ونڈوز یا وییمایس کے لئے. 137 00:08:59,020 --> 00:09:01,390 آپ کو فائل pathname وضاحت کو تبدیل کرنے کی ہو سکتا ہے، 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 کہ میں نے ذکر کیا ہے، تمام مختلف گولے - لڑائی شیل، سی شیل، 143 00:09:23,570 --> 00:09:29,880 ٹیسی شیل، کورن شیل، لڑائی پھر شیل - کسی بھی یونیکس کے تحت دستیاب ہو جائے گا 144 00:09:29,880 --> 00:09:33,750 یا لینکس یا میک OS کے کمپیوٹر. 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 میری کہانی کے اندر میں arg1 سے رجوع کرنے کے $ 1 ہو سکتا ہے، 161 00:10:42,160 --> 00:10:45,890 اس طرح، arg2 جو آئے گا $ 2،. 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 >> شیل specifier لائن. کے لئے یہ کیا ہے؟ 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 تو یہاں ہم یہاں ایک شیل specifier لائن ہے. 178 00:11:48,740 --> 00:11:52,450 یہی وجہ ہے کہ پارٹی کی وضاحت. 179 00:11:52,450 --> 00:11:56,750 یہ pathname، / بن / پارٹی میں اس کی وضاحت یاد رکھیں کہ. 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 آپ کو صرف نہیں فجائیہ نقطہ اور pathname کے ساتھ پونڈ کی علامت استعمال کرتے ہیں، 189 00:12:41,250 --> 00:12:44,640 کہ ایک سی شیل کی طرف اشارہ کرنا چاہئے. 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 آپ کو ایک سی شیل چاہتے ہیں، یہ کہنا بہتر ہو گا. 193 00:12:52,220 --> 00:12:58,450 پھر یہاں بلکہ مبہم کچھ ہے. 194 00:12:58,450 --> 00:13:03,940 آپ کو اس طرح / بن / پارٹی کے طور پر ایک شیل specifier لائن استعمال کرتے ہیں تو 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 یہ ایک specifier لائن پر مقدم لے جائے گا، 209 00:13:55,680 --> 00:14:02,090 اور یہ آپ کو مختلف pathnames کے لئے فراہم کرنے کے لئے کی اجازت دیتا ہے کی خصوصیت ہے. 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 Specifier لائنز کسی بھی شیل کال کر سکتے ہیں. 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 آپ کو شروع میں ان پروگراموں میں سے ایک اشارہ specifier لائن ڈال دیا تو، 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 بلا یا سکرپٹ specifier لائن کے طور پر لیکن سے. 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 interactively ان کے چلانے کی طرف سے. 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 یہ صرف specifier لائنوں کے بارے میں ایک parenthetical کی تبصرہ کے تھوڑا سا ہے. 239 00:15:45,720 --> 00:15:50,610 >> تمام یا لینکس کی سب سے زیادہ فارم میں - ایک بار پھر، مجھے لگتا ہے کہ سب کچھ نہیں ہو سکتا - 240 00:15:50,610 --> 00:15:57,900 آپ csh ٹائپ اور میک OS میں، آپ، tcsh حاصل 241 00:15:57,900 --> 00:16:00,570 اور آپ ٹائپ کریں تو آپ کو ایک شاندار ہڑتال حاصل SH. 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 کا استعمال کرتے ہوئے ایک سکرپٹ لکھنے یا بلا جبکہ پارٹی کی خصوصیات تو csh یا شیخ 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 شیخ یا csh کے طور پر اس بلا اور اس کے بعد زیادہ اعلی درجے کے گولے ہو رہی. 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 یہ کس طرح، آپ کو SH ٹائپ تو آپ کو ایک شاندار ہڑتال حاصل ہے کہ قائم ہے 253 00:16:50,290 --> 00:16:55,580 آپ csh ٹائپ تو آپ 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 آپ ایک لینکس یا میک OS کے مقامی کمپیوٹر ہے تو، 276 00:18:37,990 --> 00:18:45,630 پھر آپ شیخ یا csh فون ہے کہ شیل، نہیں آپ کو ترجیح دیتے ہیں ہو سکتا ہے کہ ایک مل جائے گا. 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 یہ پارٹی نہیں ہے اس وقت بھی جب، سی شیل کرتا ہے کے مقابلے میں سی زبان زیادہ مشابہ. 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 csh، پارٹی - ہیں - وہ ہیں جس میں شیل نشاندہی کرنے کے لئے کچھ ہے 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 یہاں شعبوں colons کی طرف سے الگ کر رہے ہیں. 295 00:20:23,970 --> 00:20:28,210 گزشتہ میدان، آپ دیکھ سکتے ہیں کے طور پر، بن / tcsh، شیل ہے. 296 00:20:28,210 --> 00:20:30,230 یہ شیل specifier ہے. 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 کہ وہ اس میدان شامل ہے کہ ایک felicitous یا اپرتیاشت ترقی ہے. 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 وہاں ایک اور parenthetical کی تبصرہ. 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 یہاں میں سی شیل میں ہوں. 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 کچھ چیزیں ایک ہی ہو جائے جا رہے ہیں. LS میرے حکم بتاتا ہے. 320 00:22:19,540 --> 00:22:24,500 میں اپنے سی شیل، LS، اسی کو معطل کرتے ہیں تو. ٹھیک ہے نا؟ 321 00:22:24,500 --> 00:22:28,890 FG، پیش منظر، اپنے شاندار ہڑتال شیل. 322 00:22:28,890 --> 00:22:38,290 واپس سی شیل پی ڈبلیو ڈی، موجودہ ڈائریکٹری،. 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 کی میں یہاں ایک کمانڈ فون کرنا چاہتے ہیں کا کہنا ہے کہ: کہاں LS. 326 00:22:50,000 --> 00:22:52,140 یہ کیا کرتا ہے؟ 327 00:22:52,140 --> 00:22:53,670 LS کمان جہاں، مجھ سے کہتا ہے 328 00:22:53,670 --> 00:22:56,670 مجھے ایک ڈائرکٹری کی لسٹنگ دیتا ہے کہ ایک، LS میں واقع ہے. 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 جہاں کمانڈ سی شیل میں بنایا گیا ہے. 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 تو ہم وہاں سی شیل کے تحت چلنے والے ایک پارٹی شیل ہے، اور ہم اس ایک ذیلی شیل فون. 339 00:23:32,290 --> 00:23:38,480 اور صرف آپ کو جاننا ہو کے معاملے میں، ایک شاندار ہڑتال شیل حکم دیتا ہے کی locating کا اپنا طریقہ ہے. 340 00:23:38,480 --> 00:23:42,590 hashed، یہ زیادہ تیزی سے قتل کیا جا سکتا اس حقیقت کی طرف اشارہ کرتا ہے 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 وہ، loops کے، مشروط بیانات کی طرح کنٹرول ڈھانچے 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 پارٹی شیل arrays کے ہے. اصل لڑائی شیل نہیں ہے. 351 00:24:20,700 --> 00:24:26,130 تو یہ پروگرامنگ کے لئے کافی فائدہ مند ہو سکتا ہے. 352 00:24:26,130 --> 00:24:29,810 سی شیل اصل arrays کے کرتا ہے لیکن ان کی دیگر خصوصیات کی ایک بہت نہیں ہے. 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 تو آگے loops اور کے لئے جیسے ڈھانچے interactively چلانے کے کیا جا سکتا ہے. 363 00:25:04,850 --> 00:25:07,000 وہ، interactively چلانے کے لئے کبھی کبھار مفید ہیں 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 یہ سی شیل کے بارے میں ہونے جا رہا ہے. 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 ایک بار پھر، سی شیل کے بارے میں، لڑائی شیل اور کورن شیل، ان چیزوں 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 اس کے بجائے LS ٹائپ کی ہے - یہ ایک مشترکہ کمانڈ ہے - 373 00:25:44,880 --> 00:25:47,620 صرف L ٹائپ کریں اور اپنے آپ کو 1 کردار کو بچانے کے. 374 00:25:47,620 --> 00:25:50,600 مختلف اختیارات کے ساتھ LS، ان تمام لوگوں کے کام. 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 'LS G *' 389 00:26:35,470 --> 00:26:37,640 G *، آپ شاید جانتے ہیں کے طور پر، ایک وائلڈ کارڈ کے اظہار ہے 390 00:26:37,640 --> 00:26:40,290 G سے شروع تمام فائل نام کے لئے. 391 00:26:40,290 --> 00:26:46,410 میں نے صرف ایک کمانڈ LS G * میں لکھتے ہیں، میں اپنے موجودہ ڈائریکٹری میں تمام لوگوں کے ناموں کی ایک فہرست ملے گی. 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 یہ اس کی وضاحت کمانڈ چلتا ہے جب اس کے وائلڈ کارڈ G * کا جائزہ لے گا. 396 00:27:09,620 --> 00:27:14,400 تو عرف کی تعریف LS ڈائریکٹری میں فائلوں کی فہرست کی طرف سے عمل کیا جائے گا 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 تو کیا تم صرف * تعریف ہونے LS G حاصل. 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 آپ grep کمانڈ جانتے ہو. 408 00:27:54,270 --> 00:28:02,110 grep کمانڈ مخصوص ڈور ہے جس میں لائنوں کے لئے ایک فائل کو اسکین کرنے کے لئے استعمال کیا جا سکتا ہے. 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 یہ grep ABC ڈور کا کہنا ہے کہ. وہاں ہے. 412 00:28:31,490 --> 00:28:37,930 میں grep 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 'grep ABC' کے بارے میں؟ 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 ہم صرف پہلے کی طرح grep ہے یہاں یاد. 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 فجائیہ نقطہ سی شیل کی تاریخ کے طریقہ کار کا حصہ ہے. 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 تو! 3:2 کمانڈ نمبر 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 یہ فائل کی ڈور میں لفظ ڈور کو تلاش نہیں کیا، لیکن یہ ABC تلاش کرتا ہے. 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 >> میں صرف جزوی طور پر parenthetically، ذکر کرنا چاہتا ہوں، یہاں ایک اور چیز ہے، 517 00:37:11,310 --> 00:37:15,250 یعنی کہ فجائیہ نقطہ کے ساتھ اس کی تاریخ کے طریقہ کار 518 00:37:15,250 --> 00:37:18,010 واپس اصل سی شیل کو جاتا ہے. 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 Emacs یا VI یا تو. 522 00:37:33,650 --> 00:37:36,430 میری ذاتی رائے Emacs اس مقصد کے لئے استعمال کرنے کے لئے بہت آسان ہے 523 00:37:36,430 --> 00:37:39,390 آپ کو آپ کے باقاعدہ ترمیم کے لئے VI استعمال یہاں تک کہ اگر. 524 00:37:39,390 --> 00:37:43,900 اب تاریخ کے لئے مرضی کے مطابق کر رہے ہیں جس میں مختلف Emacs حکم دیتا ہے ہیں. 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 آپ نے پہلے ہی کسی نہ کسی طرح واپس لڑھکا ہے تو کنٹرول ن اگلے حکم ملتا ہے. 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 سی شیل، متغیر کو تفویض کرنے کے لئے مقرر کمانڈ کا استعمال کرتا ہے 539 00:38:37,350 --> 00:38:41,360 تو اس B کی قیمت متغیر ایک کا تعین کرتا ہے - 540 00:38:41,360 --> 00:38:46,390 میں، ایک بیکار تعریف ہے لیکن یہ استعمال کیا جاتا ہے کہ کس طرح کی ایک مثال کہا. 541 00:38:48,790 --> 00:38:52,410 یہ پہلے سے ہی موجود نہیں ہے تو سیٹ کمانڈ ایک متغیر پیدا کر دے گا. 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 یہ ایک شہوت انگیز null قیمت متغیر قائم کرے گا. 565 00:40:57,770 --> 00:41:00,120 تو ایک = قائم ایک درست حکم ہے. 566 00:41:00,120 --> 00:41:04,370 سیٹ کمانڈ ایک ہی لائن میں زیادہ سے زیادہ 1 متغیر وضاحت کر سکتے ہیں. 567 00:41:04,370 --> 00:41:11,240 تو یہاں یہ کمانڈ اقدار، شہوت انگیز null A اور B دونوں کی وضاحت کا اثر ہے. 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 = B ایک درست اظہار نہیں ہے. 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 colons، تاریخ لائنز سے دلائل منتخب کرنے کے لئے استعمال کیا گیا 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 یہاں ایک،، ایک ڈالر ایک قیمت ہے. 577 00:41:49,050 --> 00:41:55,040 : R توسیع دور لے جائے گا. 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 کوئی توسیع، آخری سلیش کے بعد صرف pathnames ہے، تو اس کا کوئی اثر نہیں پڑے گا. 584 00:42:16,510 --> 00:42:27,480 ایک: H، متغیر اظہار، ایک ڈائریکٹری فہرست کے آخری عنصر سے دور لے جائے گا، 585 00:42:27,480 --> 00:42:29,660 پھر، صرف گزشتہ سلیش کے بعد. 586 00:42:29,660 --> 00:42:33,160 تو / A / B / C / A / B ہو جاتا ہے، 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 یہ، pathnames، فائل کے نام جوڑتوڑ ارادہ کر رہے ہیں 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 تو ایسی کوئی فائل ہے، تو / A / B / C، یہ اب بھی کام کریں گے. 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 ماحولیات متغیر، پابند سی شیل متغیر. 610 00:44:05,600 --> 00:44:08,340 ماحولیات متغیر، بھی سی شیل میں متغیر ہیں 611 00:44:08,340 --> 00:44:11,250 اور وہ بھی دیگر گولے بھی متغیر ہیں. 612 00:44:11,250 --> 00:44:15,230 سی شیل میں، وہ مختلف سیٹ ہیں. 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 یہ ایک مثال ہے. پرنٹر، 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 شیل ایک شیل پیدا کرتا ہے اور پھر اس کا حصہ overwrites ہے 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 یہ ہے کہ آپ اس کی وضاحت کس طرح ہے. setenv، متغیر، قیمت: یہ 3 عناصر کے. 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 ، یہاں مدیر = VI یہ آخری بات نوٹس. 664 00:48:15,240 --> 00:48:21,120 کا کہنا ہے کہ ہے کہ میں ایک ایڈیٹر کا مطالبہ ہے کہ کچھ استعمال کر رہا ہوں اگر 665 00:48:21,120 --> 00:48:25,530 اور میں ایک ایڈیٹر کی وضاحت نہیں کرتے اور اس سے مجھے انتخاب کی اجازت دیتا ہے، یہ میرے VI دے سکتے ہیں. 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 جیسے شیل متغیر کے لئے modifiers کے تھے یاد رکھیں: H، 674 00:49:11,010 --> 00:49:14,350 ایک pathname کے آخری عنصر چھوڑ دے گا جس میں، 675 00:49:14,350 --> 00:49:17,950 یا: R، ایک توسیع چھوڑ دے گا جس میں. 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 اور سی شیل میں شیل متغیر کچھ مستثنیات، مختلف سیٹ کے ساتھ، ہیں. 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 xterm X ونڈو سسٹم میں ظاہر ونڈوز کے لیے ایک ٹرمینل کی قسم ہے. 698 00:51:00,570 --> 00:51:04,330 xterm رنگ مختلف رنگوں کی اجازت دیتا ہے اس کا ایک تبدیلی ہے. 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 ماحول متغیر صارف. 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 بڑے اور چھوٹے حروف میں، متغیر، شیل اور شیل نہیں ہو سکتا. 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 شیل حکم دیتا ہے کے لئے لگ رہا ہے جس میں pathnames کی ایک فہرست ہے. 749 00:54:01,880 --> 00:54:12,320 یہاں اس ونڈو پر حاصل کرتے ہیں اور ہم گونج $ راستہ، بڑے حروف تہجی کروں گا - 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 ماحول متغیر میں عناصر colons کی طرف سے الگ کر رہے ہیں. نوٹس ہے کہ. 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 لڑائی شیل arrays کے نہیں تھا. 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 سی شیل ہمیشہ arrays کے تھا. 761 00:54:50,420 --> 00:54:52,630 arrays کے ساتھ کام کرنے کے لئے بہت آسان ہیں. 762 00:54:52,630 --> 00:54:54,400 آپ اس کے کچھ حصوں کی طرف رجوع کر سکتے ہیں. 763 00:54:54,400 --> 00:55:02,350 تو گونج $ راستہ ہے [1] اور میں حاصل کرنے کے لئے کو / usr / بن، پہلا عنصر. 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 لیکن سی شیل میں یہ صف استعمال کرنے کے لئے بہت آسان ہے. 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 ایسا کرنے کے لئے کمانڈ برآمد پرنٹر کی طرح، برآمد ہے. 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 اور ابھی تک یہ اظہار ہے، سی شیل کی وضاحت میں استعمال کیا جاتا ہے 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 سی شیل میں سیٹ کمانڈ متغیر کی وضاحت کرتا ہے 813 00:58:52,220 --> 00:58:55,550 اور کوئی دلائل کے ساتھ متغیر 'اقدار کیا ہیں آپ کو بتاتا ہے. 814 00:58:55,550 --> 00:59:01,140 پارٹی شیل میں، کوئی دلائل کے ساتھ سیٹ کمانڈ، ایک ہی بات کرتا 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 دلائل کے ساتھ سیٹ کمانڈ کام کرنے کے لئے استعمال کیا جا سکتا 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 متغیر اور متغیر کی اقسام کے بعد Typeset کورن اور پارٹی کے گولے میں استعمال کیا جاتا ہے. 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 میں نے ذکر کیا یاد رکھیں پہلے جہاں سی شیل میں کمانڈ، 832 01:00:22,490 --> 01:00:28,750 آپ کو ایک کمانڈ pathname کے محل وقوع بتا سکتے ہیں جس میں. 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 کنٹرول ایک Emacs ترمیم نحو کے ساتھ لائن کے آغاز کے وزٹرز کا ریکارڈ رکھا جاتا ہے. 850 01:01:54,410 --> 01:02:00,380 اب تک pathnames، جہاں کرتا ہے 851 01:02:00,380 --> 01:02:05,040 میں نے اسے اس طرح کرتے ہیں لیکن جب، یہ تو pathnames کی اس فہرست میں پلگ 852 01:02:05,040 --> 01:02:08,750 اس پورے backquote اظہار اور ان پر رنز LS-L کی جگہ میں. 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 csh ایک یہاں پر 2 اور ایسا کرتا ہے / بن / tcsh ہے. 870 01:03:36,060 --> 01:03:39,870 ہم نے ان کو اصل میں ایک ہی فائل ہے کہ دیگر اسباب کی طرف سے قائم کر سکتے ہیں. 871 01:03:39,870 --> 01:03:43,150 اگر آپ ایک شاندار ہڑتال حاصل SH ٹائپ تو میں کہہ رہا تھا کہ یاد رکھیں. 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 لہذا ان علیحدہ فائلوں کر رہے ہیں، سی شیل ہیں ایک ہی فائل ہیں. 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 2 architectures کے ساتھ مچ-O عالمی ثنائی. 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 ہم اصل فائل LS یا فائل کیسے کام کرتا ہے کو دیکھنے کے. 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 جہاں بھاگ گیا جہاں، اس کی پیداوار ہے، اور پھر LS چلانے کی کوشش کی 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 دیگر syntaxes، دیگر کارروائیوں کے ہیں. 913 01:06:35,380 --> 01:06:41,520 Backquote نحو پارٹی میں دستیاب ہے. 914 01:06:41,520 --> 01:06:46,780 تاہم، اس سے بہتر اور افضل ہے. اسے پڑھنے کے لئے بہت آسان ہے اور یہ nesting کے کی اجازت دیتا ہے. 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 تو اس میں سے ایک، ان فائلوں پر LS-L چلتا ہے 923 01:08:18,229 --> 01:08:20,500 اور پھر یہ صرف ایک پیداوار باز گشت. 924 01:08:21,729 --> 01:08:24,479 آپ نے شاید ایسا نہیں کریں گے، آپ کو صرف گونج یا LS کرنا چاہتے ہیں، 925 01:08:24,479 --> 01:08:29,450 لیکن یہ حکم دیتا ہے کے nesting کے کس طرح کام کرتا کی وضاحت کرتا ہے. 926 01:08:29,450 --> 01:08:34,380 تو صرف ایک اور خصوصیت یہاں. 927 01:08:34,380 --> 01:08:37,450  میں نے یہ پہلے ذکر کیا، کہ آپ کو ہے جب جہاں سی شیل میں، 928 01:08:37,450 --> 01:08:42,770 حکم locating کے لئے لڑائی کی قسم کے گولے میں کام قسم. 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 شیل LS کی طرح ایک کمانڈ executes ہے، تو یہ، راستے کے ذریعے سے locates 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 شیل میں کمانڈ LS یا جو کچھ بھی لکھا ہے 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 آپ کو اس راستے کمانڈ حاصل کرنے کے لئے کرنا چاہتے ہیں تو، آپ کو مکمل pathname ٹائپ کر سکتے ہیں. 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 آپ کو پورے pathname ٹائپ کرنے کے لئے نہیں کرنا چاہتے ہیں، آپ کو ایک عرف کی وضاحت کر سکتے ہیں. 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 echo_style کہا جاتا tcsh میں ایک متغیر کی طرف سے وضاحت ایک آپشن بھی ہے. 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 یہ csh کے لئے کام نہیں کرے گا. یہ صرف 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 اس کی تصریف ترتیب، سی شیل میں ایک کارروائی، 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 اس سیٹ glob کہ اثر نہیں پڑے گا یاد رکھیں. 1012 01:14:56,440 --> 01:15:00,800 عام زبان میں، مقرر glob یا ناسیٹ 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 windowing نظام دستیاب بن گیا اس سے پہلے یہ ہے کہ اکثر استعمال کیا جاتا ہے، لیکن نہیں ہے 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 مدت xterm رنگ. 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 ایس، صرف پیداوار یہ حکم محسوس. یہ ان کے نہیں چلا تھا. 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 ق کچھ پیداوار suppresses ہے، لیکن آپ دیکھ سکتے ہیں کہ، یہاں کوئی فرق نہیں پڑتا. 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 میں یہاں ان چیزوں کو omitting کی کر رہا ہوں. 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 اور کنٹرول کے ساتھ لائن کے آغاز کے پاس جاؤ اور میں ایسا. 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 eval، یہاں یہ بہت دلچسپ کمانڈ نوٹس. 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 یہاں ہم eval ARG، جانا، تو ہم 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 اور موجودہ شیل کے سیاق و سباق کے نتیجے میں حکم executes. 1072 01:18:43,600 --> 01:18:46,900 یہ عام طور پر کمانڈ کے نتیجے کے طور پر پیدا کی حکم پر عمل کرنے کے استعمال کیا جاتا ہے 1073 01:18:46,900 --> 01:18:51,310 یا متغیر مبدل تصریف میں ان substitutions سے پہلے اس وقت ہوتی ہے کیونکہ. 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 یہاں پر حاصل کرتے ہیں اور ہم اس eval صرف یہ ہے کہ اس سے پہلے استعمال کیا جاتا ہے نظر آئے گا. 1079 01:19:07,800 --> 01:19:14,010 یہاں ہم اس حکم پر تیر کے ساتھ جانا - تو ہم ڈال دیکھتے ہیں کیا ہوتا 1080 01:19:14,010 --> 01:19:20,940 اور شروع کرنے کے لئے کنٹرول، eval. 1081 01:19:20,940 --> 01:19:22,850 ٹھیک ہے، تو یہ کام کرتا ہے. 1082 01:19:22,850 --> 01:19:26,440 آپ eval کرتے ہیں، اس کے بعد آتا ہے کیا لیتا ہے اور اسے ایک کمانڈ دیتا ہے. 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 تو ہم eval پر جانا، eval، کہ اٹھا پھر سے پوری بات شروع ہوتا ہے، اور یہ کام کرتا ہے. 1091 01:20:06,440 --> 01:20:18,460 ایک مثال کے طور backquoting دونوں، eval، تصریف میں، کی تصریف کے نتائج، 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 ، یہاں اس حکم پر نظر ڈالیں 022 umask. مجھے لگتا ہے کہ کیا کرتا ہے حیرت ہے. 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 R، پڑھنے، لکھنے کے لئے ڈبلیو کے لئے کھڑا ہے 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 ایک R یا AW یا ایک ایکس ہے، تو اس کے تحفظ کے حاصل کی جاچکی ہے مطلب یہ ہے کہ. 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 ان 3 کے لئے آپ کے پاس R کی کیا مجموعہ، ڈبلیو کی، اور X کی وضاحت کریں گے 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 یہ ایک executable فائل نہیں ہے، یہ x قائم نہیں کیا. 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 ٹھیک ہے، X کی اجازت دی لیکن اس کارکردگی نہیں ہے کیونکہ وہ یہاں نہیں ہے ہے 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 ہے جو، آپ ابتدا فائلوں میں سے ایک میں عام طور پر ہے 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 تو اس کی تاریخ کی عکاسی کرتا ہے، اور ان inconsistencies اور اس کی عجیب عناصر اب بھی موجود ہیں. 1173 01:25:57,930 --> 01:26:00,750 ٹھیک ہے. یہاں اگلے ایک. 1174 01:26:08,170 --> 01:26:11,000 میں نے پہلے لکھا ہے، سی شیل واقعی، پروگرامنگ کے لئے بہت زیادہ استعمال کیا جاتا ہے 1175 01:26:11,000 --> 01:26:12,420 یہ ہو سکتا ہے. 1176 01:26:12,420 --> 01:26:15,080 یہ، زیادہ آہستہ آہستہ، پھر انٹرایکٹو استعمال کے درمیان تجارت بند executes ہے 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 کورن اور Bourne پھر گولے کی طرف سے لڑائی شیل میں شامل اضافی خصوصیات 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 کی طرح حکم دیتا ہے کی ایک بہت، ایک calculational پروگرام میں ہے تو 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 لڑائی شیل میں یہ چل رہا ہے، سی شیل میں یہ چل رہا ہے کے مقابلے میں زیادہ تیزی سے نہیں ہو گا 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 سی شیل اس پر عجیب خصوصیات ہیں - 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 میں نے دیکھا ہے کہ وہ آپریٹنگ سسٹمز patching لئے استعمال کیا جاتا. 1203 01:27:52,450 --> 01:27:55,450 وہ بہت آہستہ آہستہ عملدرآمد کر سکتے ہیں، لیکن آپ اکثر ان لوگوں کو نہیں چلا. 1204 01:27:55,450 --> 01:27:57,180 یہ آپ patching کر رہے ہیں صرف اس وقت جب ہے، 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 arrays کے، حساب، - میں نے پہلے ہی ان میں سے چند ایک کا ذکر کیا ہے 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 printenv variablename. 1217 01:28:52,990 --> 01:28:56,130 ہم printenv کرتا ہے پتہ ہے کیا. اس نے ہمیں ایک متغیر کی قدر بتاتی ہے. 1218 01:28:56,130 --> 01:29:00,850 ایسی کوئی متغیر نہیں ہے کیونکہ printenv variablename ہم بہت زیادہ نہیں بتائے گا. 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 اس سی شیل ہے یاد رکھیں. 1228 01:29:50,370 --> 01:29:54,850 تو printenv مدیر ہم ایڈیٹر کی ایک قیمت دے گا. یہ VI ہے. 1229 01:29:54,850 --> 01:29:59,790 اور پھر یہ متغیر ایک، سیٹ کمانڈ کرنے کے لئے اس کی قیمت مقرر کرے گا. 1230 01:29:59,790 --> 01:30:02,860 میں گونج $ کیا تو اب، اگر میں VI حاصل. 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 گونج کمانڈ چلائیں گے جس طرح کا تعین کرتا ہے. 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 مقرر گونج اس طرح برتاؤ کرنے کے لئے سبب بن جائے گا. 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 کچھ مقاصد کے لئے سی شیل کے اویوہارک فطرت کی طرح ظاہر کرتا ہے. 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 ہم صرف eval کمانڈ حاصل کرنے کے لئے ایک چھوٹا سا پہلے ٹیسی شیل آدمی پیج پر دیکھا. 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 ڈیفالٹ کی طرف سے انسان کو زیادہ یا کم ہو جائے یا تو، pagers کے استعمال کریں گے. 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 وہ csh اور 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 کچھ نظام صرف سی شیل بلٹ میں حکم دیتا ہے کے لئے علیحدہ آدمی کے صفحات ہیں. 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]