1 00:00:00,000 --> 00:00:02,320 >> [Semina - Unix Shells, Mazingira] 2 00:00:02,320 --> 00:00:04,180 [Douglas Kline - Chuo Kikuu cha Harvard] 3 00:00:04,180 --> 00:00:07,160 [Hii ni CS50. - CS50.TV] 4 00:00:07,160 --> 00:00:12,770 >> Mada ya leo ni shell Unix. 5 00:00:12,770 --> 00:00:20,600 Mimi nina Douglas Kline, mtaalam, au angalau sababu uwezo user, ya shell. 6 00:00:20,600 --> 00:00:25,280 shell ni interface kwa mtumiaji wa kompyuta mfumo wa uendeshaji. 7 00:00:25,280 --> 00:00:29,580 jina ni kupotosha kama, tofauti na shell ya wanyama, 8 00:00:29,580 --> 00:00:34,890 ambayo ni vigumu na kinga, shell kompyuta inaruhusu kwa ajili ya mawasiliano. 9 00:00:34,890 --> 00:00:39,120 Hivyo membrane porous pengine ingekuwa Fumbo bora. 10 00:00:39,120 --> 00:00:44,500 >> Shell awali kwa ajili ya Unix ni shell Bourne. 11 00:00:44,500 --> 00:00:46,450 Bourne ni yameandikwa B-O-U-R-N-E. 12 00:00:46,450 --> 00:00:49,770 Bourne alikuwa mmoja wa waandishi wa awali wa Unix, 13 00:00:49,770 --> 00:00:51,700 na hivyo shell ni jina lake baada yake. 14 00:00:51,700 --> 00:00:54,850 jina la shell kama amri ni tu tu sh. 15 00:00:54,850 --> 00:00:57,400 Hiyo ni amri unaweza nitafanya. 16 00:00:57,400 --> 00:01:00,810 shell kuanza saa kuingia. 17 00:01:00,810 --> 00:01:04,459 Wakati kuingia kwenye kompyuta, shell tu kuanza mbio kwa ajili yenu, 18 00:01:04,459 --> 00:01:06,820 na kwamba ni nini inachukua amri yako. 19 00:01:06,820 --> 00:01:09,790 Inaweza kuanza wakati mwingine pia. 20 00:01:09,790 --> 00:01:16,780 Kama wewe kuleta up dirisha na hakuna dalili nyingine, itakuwa kuanza shell kwa ajili yenu. 21 00:01:16,780 --> 00:01:20,450 Hiyo ni jinsi gani ni kwamba unaweza kwenda dirisha na kuanza kuandika amri 22 00:01:20,450 --> 00:01:23,960 na kadhalika huko ingawa hakuwa kuingia kwenye dirisha hilo. 23 00:01:23,960 --> 00:01:26,670 Aidha, kama wewe kufanya kuingia kijijini, 24 00:01:26,670 --> 00:01:30,250 kisha itakuwa kuanza shell kwenye kompyuta mbali. 25 00:01:30,250 --> 00:01:44,310 Na inawezekana kukimbia amri bila shell mwingiliano. 26 00:01:44,310 --> 00:01:48,990 Hiyo inaweza kuwa na maana ndani ya kazi yako sasa, 27 00:01:48,990 --> 00:01:50,700 na inaweza pia kuwa na maana operesheni kijijini. 28 00:01:50,700 --> 00:01:52,900 Unaweza kutuma amri ya kompyuta mwingine, 29 00:01:52,900 --> 00:01:55,460 ambayo ni pamoja na kuanzisha shell huko. 30 00:01:55,460 --> 00:01:57,760 Kwa kweli, ina ni pamoja na kuanzisha shell kuna 31 00:01:57,760 --> 00:02:01,740 hata kama si madhumuni yako ya mwisho. 32 00:02:05,310 --> 00:02:12,350 Wakati kitu kuanza juu kama hii, haina lazima kuanza shell mpya. 33 00:02:12,350 --> 00:02:17,430 Kama wewe kuleta up dirisha mpya, inawezekana kuwaambia ni kuleta mhariri 34 00:02:17,430 --> 00:02:18,940 au baadhi ya amri nyingine. 35 00:02:18,940 --> 00:02:20,560 Katika kesi hiyo, mhariri wa kuanza kutoka mwanzo. 36 00:02:20,560 --> 00:02:22,930 Wakati mhariri mwisho, dirisha mwisho. 37 00:02:22,930 --> 00:02:24,620 Hii ni kidogo kawaida lakini inaweza kufanyika. 38 00:02:24,620 --> 00:02:27,140 Katika kesi hizo, itakuwa si shell. 39 00:02:27,140 --> 00:02:31,890 Hivyo si lazima kesi hiyo dirisha au baadhi ya maombi hayo kuleta up shell. 40 00:02:31,890 --> 00:02:34,030 >> Shell parses amri. 41 00:02:34,030 --> 00:02:40,900 Parsing maana kutambua mambo mbalimbali na kuainisha yao. 42 00:02:40,900 --> 00:02:43,470 Ndani ya amri, kamba kamili kwamba aina, 43 00:02:43,470 --> 00:02:47,310 kutakuwa na 1 au zaidi single amri wauawe. 44 00:02:47,310 --> 00:02:50,050 Mambo mengine inaweza kuwa hoja. 45 00:02:50,050 --> 00:02:55,020 Kuna pia inaweza herufi maalum ambayo kuathiri utekelezaji wa amri. 46 00:02:55,020 --> 00:02:59,710 Wanaweza kutuma pato mahali fulani kingine chochote zaidi ya screen 47 00:02:59,710 --> 00:03:01,750 kama amri kwa kawaida kutuma kwa screen. 48 00:03:01,750 --> 00:03:04,390 Inaweza kuelekeza pembejeo, inaweza kufanya mambo mengine pia. 49 00:03:04,390 --> 00:03:08,120 Kuna alama nyingine mbalimbali, wahusika, na kadhalika. 50 00:03:08,120 --> 00:03:13,600 Parsing inahusisha kuchunguza na kutafsiri mambo hayo. 51 00:03:13,600 --> 00:03:19,560 >> Sasa kama kuna maswali hakuna zaidi, ambayo ni badala uwezekano kuwa kuna watu tena, 52 00:03:19,560 --> 00:03:24,620 tutakwenda kwenye ukurasa yangu ijayo hapa. 53 00:03:24,620 --> 00:03:29,170 >> Nilivyosema awali kwamba Bourne shell ni shell ya awali. 54 00:03:29,170 --> 00:03:31,550 Kuna wengine. 55 00:03:31,550 --> 00:03:34,520 Moja ni C-shell. amri ni CSH. 56 00:03:34,520 --> 00:03:36,830 jina C-shell ni mchezo wa maneno. 57 00:03:36,830 --> 00:03:41,260 Shell hii ilianzishwa kwa Berkeley Unix katikati ya miaka ya 1970. 58 00:03:41,260 --> 00:03:44,830 Berkeley Unix ni tukio semina katika maendeleo ya Unix. 59 00:03:44,830 --> 00:03:48,770 Ilikuwa ni mapinduzi makubwa na ni pamoja na kuanzishwa kwa shell hii. 60 00:03:48,770 --> 00:03:50,790 Sababu ya kuwa mchezo wa maneno, C-shell, 61 00:03:50,790 --> 00:03:56,490 ni kwamba C-shell ina baadhi ya sifa ndani yake ambayo inafanana na C lugha, 62 00:03:56,490 --> 00:03:59,740 ambayo Bourne shell hana - 63 00:03:59,740 --> 00:04:02,140 au hakuwa na wakati huo. 64 00:04:02,140 --> 00:04:05,190 Kuna pia Mama-shell. 65 00:04:05,190 --> 00:04:07,360 Hii ni superset ya C-shell. 66 00:04:07,360 --> 00:04:11,470 Ni ina sifa ya ziada, wengi ambao ni muhimu kwa ajili ya matumizi shirikishi, 67 00:04:11,470 --> 00:04:16,050 kama vile kukumbuka amri katika utaratibu historia, 68 00:04:16,050 --> 00:04:18,459 ambayo mimi itabidi kuelezea kwa kiasi fulani baadaye - 69 00:04:18,459 --> 00:04:23,120 kwa njia rahisi, inatokana baada ya mhariri. 70 00:04:23,120 --> 00:04:29,170 Pia ina bindings ambayo itawawezesha kumfunga short muhimu kamba amri tena. 71 00:04:29,170 --> 00:04:31,440 Sisi siyo kwenda kwa kuingia katika kwamba leo. 72 00:04:31,440 --> 00:04:33,650 Ina baadhi ya sifa ya kuwa ni muhimu kwa ajili ya programu. 73 00:04:33,650 --> 00:04:37,020 Hata hivyo, C-shell si mara nyingi hutumika kwa ajili ya programu shell. 74 00:04:37,020 --> 00:04:39,080 Mipango ya Shell, kama wewe hakuwa tayari kujua, 75 00:04:39,080 --> 00:04:41,690 ni mipango ya wajumbe wa sifa shell. 76 00:04:41,690 --> 00:04:43,220 Unaweza kukimbia haya kama mipango. 77 00:04:43,220 --> 00:04:46,760 Kuandika kundi la amri shell katika faili na kutekeleza file. 78 00:04:46,760 --> 00:04:49,760 Huna haja ya kukusanya yake. Hii ni lugha ya interpretive. 79 00:04:49,760 --> 00:04:57,320 maneno C-shell ni sasa utata tangu inaweza kutaja tu ya awali C-shell, CSH, 80 00:04:57,320 --> 00:05:01,200 au kwa wote C-shells, ikiwa ni pamoja na tcsh. Ni kidogo utata. 81 00:05:01,200 --> 00:05:08,250 >> Shell baadaye ni Korn shell, ksh, jina lake baada ya programu, Korn. 82 00:05:08,250 --> 00:05:14,160 Shell Hii alijaribu kuingiza katika 1 shell 83 00:05:14,160 --> 00:05:16,960 faida ya C-shell kwa ajili ya matumizi shirikishi 84 00:05:16,960 --> 00:05:19,230 na Bourne shell kwa programu. 85 00:05:19,230 --> 00:05:25,440 Imekuwa kutumika kama shell interactive na baadhi ya watu - wachache. 86 00:05:25,440 --> 00:05:32,050 Baadaye hata hivyo, kuna ilikuwa ni kuanzishwa kwa mwingine, shell Bash, bash, 87 00:05:32,050 --> 00:05:35,290 tena mchezo wa maneno, Bourne mara ya pili shell. 88 00:05:35,290 --> 00:05:43,830 Ni upanuzi wa shell Bourne. Korn shell ni pia. Wote wawili ni. 89 00:05:43,830 --> 00:05:48,100 Ina malengo sawa ya Korn ganda la amalgamating C-shell ya 90 00:05:48,100 --> 00:05:50,980 na faida Bourne shell katika 1 shell. 91 00:05:50,980 --> 00:05:56,810 Wengi wa nyongeza ya shell Korn pia ni pamoja na katika Bash. 92 00:05:56,810 --> 00:06:00,710 Bash, hata hivyo, ina zaidi na kwa hiyo ni vyema. 93 00:06:00,710 --> 00:06:05,180 Bourne mara ya pili shell na shell Korn walioitwa shells Bourne aina ya 94 00:06:05,180 --> 00:06:07,730 kwa sababu wao ni pamoja na sifa Bourne shell ya, 95 00:06:07,730 --> 00:06:11,180 ambayo ni kinyume katika mambo fulani na C-shells. 96 00:06:11,180 --> 00:06:15,520 Kuna shells nyingine zaidi ya hizo, baadhi lengo kwa ajili ya matumizi ya vikwazo, 97 00:06:15,520 --> 00:06:20,670 labda mdogo kwa baadhi ya amri, labda madhumuni maalumu, si mara nyingi kutumika. 98 00:06:20,670 --> 00:06:24,240 >> Sawa. Ijayo bidhaa hapa. 99 00:06:31,300 --> 00:06:38,970 Bash shell imekuwa kuhusishwa na aina mbalimbali ya Linux. 100 00:06:38,970 --> 00:06:41,550 Mimi nina uhakika kama ni kweli ya kila aina. 101 00:06:41,550 --> 00:06:43,280 Kuna aina nyingi huko nje na mimi si kutumika yao wote, 102 00:06:43,280 --> 00:06:46,870 lakini kwa wale kwamba mimi kutumika imekuwa yanayohusiana na hayo. 103 00:06:46,870 --> 00:06:49,670 Hadi sasa kama mimi kujua, kuna chochote kuhusu Bash 104 00:06:49,670 --> 00:06:52,210 ambayo inafanya yoyote zaidi sambamba na Linux 105 00:06:52,210 --> 00:06:55,020 kuliko mchanganyiko nyingine yoyote ya ganda na mfumo wa uendeshaji. 106 00:06:55,020 --> 00:06:59,690 Nadhani hii pengine tu huonyesha mwelekeo wa programmers. 107 00:06:59,690 --> 00:07:07,500 Hiyo ina kuwa kuhusishwa na Linux ni sababu nyingine kupendelea Bash kwa shilingi 108 00:07:07,500 --> 00:07:11,820 tangu mambo ni uwezekano wa kuwa na yaliyoandikwa humo na ni uwezekano wa kuenea. 109 00:07:11,820 --> 00:07:15,410 Mimi nitakupa sababu nyingine kwa ajili kwamba baadaye. 110 00:07:15,410 --> 00:07:21,330 Scripts Bourne shell lazima kukimbia chini ya shell Korn au Bash. 111 00:07:21,330 --> 00:07:22,650 Kama wewe kuandika kitu kwa ajili ya shell Bourne, 112 00:07:22,650 --> 00:07:26,180 pengine unaweza nitafanya hivyo chini ya ksh au bash. 113 00:07:26,180 --> 00:07:30,610 Korn scripts shell pengine kukimbia chini ya Bash, lakini siwezi kuthibitisha kwamba. 114 00:07:30,610 --> 00:07:36,040 Baadaye hapa, scripts C-shell lazima kukimbia chini ya Mama-shell. 115 00:07:38,850 --> 00:07:41,690 C-shell kwa kweli kamwe sana kutumika kwa ajili scripting 116 00:07:41,690 --> 00:07:48,110 tangu Bourne shell na baadaye shells Bourne aina walikuwa vyema kwa ajili hiyo. 117 00:07:48,110 --> 00:07:50,620 Ili kweli si wote muhimu kwamba. 118 00:07:50,620 --> 00:07:53,480 Kuna kabisa mengi ya scripts shell Bourne yaliyoandikwa muda mrefu uliopita, 119 00:07:53,480 --> 00:07:56,860 kabla ya shell Korn au Bourne mara ya pili shell walikuwa vishawishi. 120 00:07:56,860 --> 00:07:59,300 Wale ambao bado ni katika matumizi, sehemu ya mifumo ya uendeshaji, 121 00:07:59,300 --> 00:08:01,590 na hivyo utapata yao kama ukiangalia katika mfumo wa uendeshaji 122 00:08:01,590 --> 00:08:03,760 au baadhi ya fedha za programu ya zamani. 123 00:08:03,760 --> 00:08:12,840 >> Bash ni kwa kiasi fulani kuwa aina ya lingua franca kwa mifumo ya uendeshaji. 124 00:08:12,840 --> 00:08:17,580 Ni tayari kupanuliwa kwa Windows na VMS. 125 00:08:17,580 --> 00:08:20,440 VMS, katika kesi hamjui, ni wamiliki mfumo wa uendeshaji 126 00:08:20,440 --> 00:08:25,480 ya Digital Vifaa Corporation ambayo ni bado katika matumizi, kwa kiasi kikubwa nyuma ya pazia. 127 00:08:25,480 --> 00:08:29,250 Na kama ni kwenda kuwa mbio juu ya mifumo kadhaa ya uendeshaji tofauti, 128 00:08:29,250 --> 00:08:31,110 uwezekano watu huwa na kuhama kwa ajili yake. 129 00:08:31,110 --> 00:08:33,840 Lakini maendeleo hii ni ya hivi karibuni. 130 00:08:33,840 --> 00:08:39,490 Ni mwanzo tu, hivyo siwezi kutabiri kama hii kurejea nje kwa kweli kuwa aina ya mawasiliano mapana. 131 00:08:39,490 --> 00:08:43,539 Pia, kwa sababu pathnames file na maktaba tofauti 132 00:08:43,539 --> 00:08:46,210 kati ya hizi mifumo mbalimbali ya uendeshaji, 133 00:08:46,210 --> 00:08:50,250 unaweza kuwa na uwezo wa kuandika Bash script juu ya mfumo mmoja wa uendeshaji 134 00:08:50,250 --> 00:08:51,840 na kisha kuendesha juu ya mtu mwingine. 135 00:08:51,840 --> 00:08:54,440 Unapaswa kuwa na uwezo wa hoja hiyo kati ya mbalimbali Unix, Linux 136 00:08:54,440 --> 00:08:59,020 Mifumo ya uendeshaji Mac OS lakini si lazima Windows au VMS. 137 00:08:59,020 --> 00:09:01,390 Unaweza kuwa na mabadiliko ya maelezo file pathname, 138 00:09:01,390 --> 00:09:03,180 na baadhi maktaba inaweza kuwa tofauti, 139 00:09:03,180 --> 00:09:05,230 ambayo inaweza kuathiri njia ya kwamba baadhi ya amri kazi 140 00:09:05,230 --> 00:09:09,730 au jinsi mchakato wa hoja na kama. 141 00:09:09,730 --> 00:09:19,230 Mbali na kwamba, tahadhari mwingine hapa ni kwamba hakuna dhamana 142 00:09:19,230 --> 00:09:23,570 kwamba shells mbalimbali nimekuwa zilizotajwa - Bourne shell, C-shell, 143 00:09:23,570 --> 00:09:29,880 Mama-shell, Korn shell, Bourne mara ya pili shell - itakuwa inapatikana chini ya yoyote Unix 144 00:09:29,880 --> 00:09:33,750 au Linux au Mac OS kompyuta. 145 00:09:33,750 --> 00:09:35,620 Wao tu wanaweza kuwa huko. 146 00:09:35,620 --> 00:09:38,300 Hiyo ni moja ya cautions hapa. 147 00:09:38,300 --> 00:09:41,490 Ni kiwango cha juu bahati mbaya hapa tangu Ningependa mambo ya kazi kila mahali, 148 00:09:41,490 --> 00:09:44,380 lakini kwa bahati mbaya, huwezi kutegemea juu ya hilo. 149 00:09:44,380 --> 00:09:47,230 >> Sawa. Ijayo moja hapa. 150 00:09:50,280 --> 00:09:54,370 Hebu kusema kwamba unataka kuandika script shell, 151 00:09:54,370 --> 00:09:57,170 mpango yenye amri shell. 152 00:09:57,170 --> 00:10:01,200 Kuandika amri yako, kuziweka katika faili, na nitafanya file. 153 00:10:01,200 --> 00:10:04,230 Nini kama unataka pamoja mabishano? 154 00:10:04,230 --> 00:10:09,650 Katika kesi ya shughuli za ganda, hoja walioitwa vigezo au vigezo nafasi hii 155 00:10:09,650 --> 00:10:15,940 na wao itabidi kuitwa kwa ishara ya dola na numeral, $ 1, $ 2. 156 00:10:15,940 --> 00:10:27,000 Hivyo kama script ina jina hii, hoja yangu ya kwanza inaweza kuwa hoja 1 157 00:10:27,000 --> 00:10:30,540 na pili langu liwe hoja 2, 158 00:10:30,540 --> 00:10:34,110 na ndani ya script yangu kama nataka kutaja mambo haya - 159 00:10:34,110 --> 00:10:36,810 hebu kufuta hii tangu mimi si kweli kwenda kuendesha - 160 00:10:36,810 --> 00:10:42,160 ndani ya script wangu nipate kuwa $ 1 hadi rejea arg1, 161 00:10:42,160 --> 00:10:45,890 $ 2, ambayo atakuja nje kwa njia hiyo, arg2. 162 00:10:45,890 --> 00:10:50,080 Hivyo ishara hizo zinapatikana kwa kutaja hoja, 163 00:10:50,080 --> 00:10:52,390 na wale kuomba yote ya shells. 164 00:10:52,390 --> 00:10:56,520 Aidha, kuna wahusika wengine. 165 00:10:56,520 --> 00:11:01,700 $ * Inahusu hoja nzima orodha, kila mmoja wao. 166 00:11:01,700 --> 00:11:05,390 $ # Inahusu idadi ya hoja. 167 00:11:05,390 --> 00:11:07,910 Tena, hii inatumika kwa shells wote. 168 00:11:07,910 --> 00:11:15,540 Wale alama, * na #, inaweza kutumika kwa maana wale katika maeneo mengine pia. 169 00:11:15,540 --> 00:11:17,940 Sisi si kupata katika hiyo. 170 00:11:17,940 --> 00:11:20,460 >> Shell Specifier line. Nini kwamba kwa? 171 00:11:20,460 --> 00:11:27,760 Hebu sema umefanya imeandikwa script na ni kwa ajili ya shell fulani na unataka kukimbia. 172 00:11:27,760 --> 00:11:33,500 Jinsi gani unajua nini shell mfumo wa uendeshaji wako kutumia kuendesha script yako? 173 00:11:33,500 --> 00:11:37,230 Katika hatua moja unaweza kudhani kuwa itakuwa kukimbia katika shell Bourne 174 00:11:37,230 --> 00:11:39,440 kama wewe hakusema vinginevyo, 175 00:11:39,440 --> 00:11:41,730 lakini watu si kuandika scripts katika Bourne shell kwamba tena sana 176 00:11:41,730 --> 00:11:43,750 na unaweza hata kutegemea kwamba tena. 177 00:11:43,750 --> 00:11:48,740 Kwa hiyo hapa tuna shell Specifier line haki hapa. 178 00:11:48,740 --> 00:11:52,450 Kwamba unasema Bash. 179 00:11:52,450 --> 00:11:56,750 Kumbuka kwamba bayana katika pathname, / bin / bash. 180 00:11:56,750 --> 00:12:02,870 Kama kompyuta ina ganda Bash lakini si katika bin directory, / bin, hii si kazi. 181 00:12:02,870 --> 00:12:06,870 Hiyo ni kufuzu mwingine, tahadhari mwingine hapa. 182 00:12:06,870 --> 00:12:09,500 ishara pound ni maoni line tabia. 183 00:12:09,500 --> 00:12:12,300 Ambayo inatumika kwa shells wote. 184 00:12:12,300 --> 00:12:18,610 kesi fulani hapa, #! mwanzoni mwa script, ni kesi maalum. 185 00:12:18,610 --> 00:12:23,410 Kwamba unasema shell ambayo kuendesha script. 186 00:12:23,410 --> 00:12:30,230 Kama nilivyosema, huenda ikawa si sawa mahali / bin. 187 00:12:30,230 --> 00:12:34,880 Aidha, kuna kitu kingine hapa. 188 00:12:34,880 --> 00:12:41,250 Kama wewe tu kutumia chupa ishara na hakuna uhakika mshangao na pathname, 189 00:12:41,250 --> 00:12:44,640 kwamba lazima zinaonyesha C-shell. 190 00:12:44,640 --> 00:12:48,300 Hata hivyo, mimi si kupendekeza kufanya hivyo kwa sababu mimi nina uwezo wa kuhakikisha 191 00:12:48,300 --> 00:12:49,750 kwamba siku zote kufanya kazi. 192 00:12:49,750 --> 00:12:52,220 Kama unataka C-shell, itakuwa bora ya kusema hivyo. 193 00:12:52,220 --> 00:12:58,450 Kisha kuna kitu badala utata hapa. 194 00:12:58,450 --> 00:13:03,940 Kama matumizi ya shell Specifier line kama vile / bin / bash 195 00:13:03,940 --> 00:13:07,070 na kwamba shell ni si inapatikana huko, 196 00:13:07,070 --> 00:13:10,680 hakuna kitu kama vile / bin / bash kwenye kompyuta hiyo hasa ni, 197 00:13:10,680 --> 00:13:14,330 ama kwa sababu haina Bash au kwa sababu katika eneo tofauti, 198 00:13:14,330 --> 00:13:17,450 utasikia kupata kosa kuwaambia kwamba script mbio haipo. 199 00:13:17,450 --> 00:13:21,510 Na bila shaka script yako ipo, ili ujumbe wa makosa ni utata. 200 00:13:21,510 --> 00:13:24,810 sababu kwamba mfumo wa uendeshaji anatoa makosa ambayo 201 00:13:24,810 --> 00:13:28,370 au kwa usahihi zaidi, kwamba shell yako interactive ambayo wewe ni mbio hii inatoa makosa ambayo, 202 00:13:28,370 --> 00:13:33,510 ni kwamba ripoti amri unaweza kutumika, ambayo ni jina la script. 203 00:13:33,510 --> 00:13:36,920 Amri hiyo kwa ufanisi aitwaye shell kwa jina la script. 204 00:13:36,920 --> 00:13:39,330 Hiyo ambapo unaweza kupata kwamba utata ujumbe wa kosa. 205 00:13:39,330 --> 00:13:42,980 Njia nyingine ya kuwaita shell script 206 00:13:42,980 --> 00:13:45,910 ni kwa inayobainisha shell juu ya mstari amri, kama hapa. 207 00:13:45,910 --> 00:13:52,510 Hii ni amri. Hii inasema kukimbia Bash na kisha kukimbia script yangu katika Bash. 208 00:13:52,510 --> 00:13:55,680 Hiyo fuatilia juu ya Specifier line, 209 00:13:55,680 --> 00:14:02,090 na hii ina kipengele cha kuruhusu wewe kutoa kwa ajili ya pathnames tofauti. 210 00:14:02,090 --> 00:14:04,840 Kama wewe tu kutoa amri, mfumo wa uendeshaji kuangalia kwa amri kwamba 211 00:14:04,840 --> 00:14:06,410 katika maeneo mbalimbali. 212 00:14:06,410 --> 00:14:08,820 Kama inapatikana, ni lazima kupata hiyo. 213 00:14:08,820 --> 00:14:12,290 kompyuta utapata Bash popote ziko na kukimbia, 214 00:14:12,290 --> 00:14:15,470 hivyo huna haja kisha kuwa na wasiwasi kuhusu ambapo anaona ni. 215 00:14:15,470 --> 00:14:17,360 Kuna wasiwasi uwezekano wa nyingine hapa, 216 00:14:17,360 --> 00:14:20,830 kama kuna zaidi ya 1 toleo la Bash, ambayo inawezekana ingawa uwezekano. 217 00:14:20,830 --> 00:14:23,540 Hivyo kwamba ni njia nyingine ya kukabiliana na mambo haya. 218 00:14:23,540 --> 00:14:30,480 Mistari Specifier wanaweza kupiga shell yoyote. 219 00:14:30,480 --> 00:14:34,480 Wanaweza pia kupiga simu vitu vingine zaidi ya shells. 220 00:14:34,480 --> 00:14:37,940 Mifano nina hapa ni sed, ambayo ni mhariri mkondo; 221 00:14:37,940 --> 00:14:39,900 awk, ambayo ni lugha usindikaji mfano; 222 00:14:39,900 --> 00:14:43,680 na Perl, sana sana maendeleo ya scripting lugha. 223 00:14:43,680 --> 00:14:47,570 Kama kuweka Specifier line kuonyesha moja ya mipango ya wale mwanzoni, 224 00:14:47,570 --> 00:14:51,270 itakuwa kwenda moja kwa moja katika mpango kwamba badala ya kuanzia shell. 225 00:14:51,270 --> 00:14:54,030 Programu hizo na mipaka ya uwezo wao. 226 00:14:54,030 --> 00:14:58,790 Perl ni uwezo sana. Sed ni mhariri. Ni wanaweza kufanya mambo zaidi ya uhariri tu. 227 00:14:58,790 --> 00:15:03,300 Lakini inaweza kuwa vigumu kwa mpango huo. 228 00:15:03,300 --> 00:15:09,670 Aidha, kupita hoja na mambo ya script ni ama haiwezekani au utata. 229 00:15:09,670 --> 00:15:15,030 Hivyo katika kesi hizo, na awk au sed, ni, angalau katika uzoefu wangu, 230 00:15:15,030 --> 00:15:18,910 vyema kuandika shell script na wito awk au sed kutoka script shell 231 00:15:18,910 --> 00:15:24,660 badala ya wito awk au sed kama script Specifier line. 232 00:15:24,660 --> 00:15:26,980 Perl ni lugha yenye mseto, kama nilivyosema. 233 00:15:26,980 --> 00:15:30,050 Huwezi kukimbia amri interactive katika Perl, 234 00:15:30,050 --> 00:15:32,660 ambayo ina maana kwamba huwezi mtihani sehemu ya maandiko kwamba wewe ni kuendeleza 235 00:15:32,660 --> 00:15:33,970 na mbio yao interactively. 236 00:15:33,970 --> 00:15:36,160 Hata hivyo, ni lugha uwezo sana 237 00:15:36,160 --> 00:15:40,960 na ina maendeleo katika chombo sana sana kutumika. 238 00:15:40,960 --> 00:15:45,720 Hiyo ni kidogo tu ya remark parenthetical juu ya mistari Specifier. 239 00:15:45,720 --> 00:15:50,610 >> Katika yote au aina nyingi za Linux - tena, siwezi kuwa na uhakika kwamba wote - 240 00:15:50,610 --> 00:15:57,900 na katika Mac OS, kama aina CSH kupata tcsh, 241 00:15:57,900 --> 00:16:00,570 na kama aina sh kupata bash. 242 00:16:00,570 --> 00:16:05,020 Walikuwa wakijaribu huko kukupa matoleo ya juu zaidi ya makombora hayo, 243 00:16:05,020 --> 00:16:07,940 lakini hii inaweza kuwa na utata. 244 00:16:07,940 --> 00:16:16,720 Kama wewe kuandika script kutumia tcsh au Bash makala wakati wito CSH au sh 245 00:16:16,720 --> 00:16:22,230 na kisha kujaribu kukimbia kwenye kompyuta ambayo haina tcsh au Bash, 246 00:16:22,230 --> 00:16:25,050 unaweza kupata baadhi ya makosa kama kuna amri huko 247 00:16:25,050 --> 00:16:27,970 ambayo shells wale hawatambui. 248 00:16:27,970 --> 00:16:34,120 Aidha, unaweza kuwa aitwaye hadi shell yako kwenye kompyuta lako 249 00:16:34,120 --> 00:16:37,700 kuiita kama sh au CSH na kisha kupata shells ya juu zaidi. 250 00:16:37,700 --> 00:16:41,440 Unaweza hata kufikiria ukweli kwamba unatumia shell ya juu zaidi. 251 00:16:41,440 --> 00:16:45,670 Hivyo hii ni shimo uwezo. 252 00:16:45,670 --> 00:16:50,290 Jinsi ni imara kwamba kama aina sh kupata Bash, 253 00:16:50,290 --> 00:16:55,580 kama aina CSH kupata tsch? 254 00:16:55,580 --> 00:16:59,940 Kuna mambo katika kompyuta haya kuitwa viungo 255 00:16:59,940 --> 00:17:06,460 ambayo inaweza kuunganishwa na faili majina kwa kutaja kitu kimoja. 256 00:17:06,460 --> 00:17:12,180 Ni yanaweza ama kuwa majina 2 kwa ajili ya faili moja au faili ambao lengo ni rejea faili mwingine. 257 00:17:12,180 --> 00:17:17,550 Wao ni kuitwa viungo ngumu na mfano. Hatutakuwa na kwenda katika hiyo tena leo. 258 00:17:17,550 --> 00:17:21,619 Kuna pia kuwa tofauti files - 1 file sh, 1 file Bash - 259 00:17:21,619 --> 00:17:23,880 lakini wao wote kukimbia Bash. 260 00:17:23,880 --> 00:17:29,350 Kisha kuna kufuzu mwingine hapa. 261 00:17:29,350 --> 00:17:42,640 Kama wewe ni wito wa shells haya kwa jina moja, 262 00:17:42,640 --> 00:17:46,640 unaweza kufikiri wewe Ningependa kupata utendaji sawa na kuiita kwa jina lingine. 263 00:17:46,640 --> 00:17:49,700 Naam, kwamba kwa kweli si lazima kweli. 264 00:17:49,700 --> 00:17:55,020 Amri hizi wanaweza kuchunguza jina ambalo waliitwa 265 00:17:55,020 --> 00:18:00,020 na wanaweza, kwa misingi ya jina hilo, tabia tofauti. 266 00:18:00,020 --> 00:18:02,740 Kunaweza kuwa na masuala ya kujaribu kuendana na kiwango cha. 267 00:18:02,740 --> 00:18:06,060 Baadhi ya unaweza kuwa na habari ya kiwango POSIX au nyingine, 268 00:18:06,060 --> 00:18:08,730 labda sifa nyingine. 269 00:18:08,730 --> 00:18:14,520 Hii inaweza kuwa kuchaguliwa wakati mwingine kwa hoja mstari amri 270 00:18:14,520 --> 00:18:17,310 au kwa kuweka vigezo shell. 271 00:18:17,310 --> 00:18:22,170 Kuiita kama sh au bash inaweza kweli kusababisha utekelezaji mbalimbali 272 00:18:22,170 --> 00:18:25,300 hata kama ni faili moja kuwa wewe ni utekelezaji ni. 273 00:18:25,300 --> 00:18:31,800 Jambo jingine la kuzingatia ni kwamba hata kama kompyuta nyingine ina tcsh au Bash, 274 00:18:31,800 --> 00:18:35,310 kama si wanaohusishwa kama wao ni kwenye kompyuta yako ndani 275 00:18:35,310 --> 00:18:37,990 kama una Linux au Mac OS kompyuta ya karibu, 276 00:18:37,990 --> 00:18:45,630 kisha tena utapata shell kwamba simu sh au CSH, si moja kwamba unaweza kupendelea. 277 00:18:50,430 --> 00:19:01,130 sasa Bourne shell ina nyongeza mdogo kuliko wale katika Bash 278 00:19:01,130 --> 00:19:06,100 lakini wale zamani katika awali Bourne shell. 279 00:19:06,100 --> 00:19:09,690 Kama matokeo ya kwamba, hata sasa Bourne shell, sh, 280 00:19:09,690 --> 00:19:14,560 hata wakati si Bash, inafanana na C lugha zaidi ya C-shell gani. 281 00:19:14,560 --> 00:19:20,460 Hiyo ilikuwa si kweli wakati C-shell kwa mara ya kwanza kuundwa, lakini ina maendeleo kwa njia hiyo. 282 00:19:20,460 --> 00:19:26,560 Unaweza taarifa hapa kwamba majina haya yote shell ila kwa shell Bourne 283 00:19:26,560 --> 00:19:30,640 kuwa na kitu cha zinaonyesha ambayo shell wao ni - CSH, bash - 284 00:19:30,640 --> 00:19:32,550 lakini Bourne shell ni sh. 285 00:19:32,550 --> 00:19:34,910 Kwa nini? Hiyo ilikuwa ni shell awali. 286 00:19:34,910 --> 00:19:37,770 Ilikuwa ni shell basi, si shell, 287 00:19:37,770 --> 00:19:41,090 na kwa kuwa ilikuwa shell, kulikuwa hakuna sababu ya kutofautisha ni kutoka shell mwingine. 288 00:19:41,090 --> 00:19:45,030 Hivyo ndiyo sababu ina jina kuwa na bado anafanya. 289 00:19:50,630 --> 00:19:58,990 >> Juu Hii hapa ni mstari kutoka database password kwa ajili ya akaunti mimi kuwa kuna 290 00:19:58,990 --> 00:20:01,680 kwenye kompyuta nyingine. 291 00:20:01,680 --> 00:20:08,300 Mimi nina kwenda kujaribu kupata jina kwamba hivyo unaweza kuona sehemu kwamba mwishoni, shell. 292 00:20:09,720 --> 00:20:15,450 database password ana sifa kuingia kwa watumiaji wote. 293 00:20:15,450 --> 00:20:20,330 Mwanzoni ni jina la mtumiaji, ambayo unaweza kuona barua ya mwisho 2 wa mgodi sasa. 294 00:20:20,330 --> 00:20:23,970 mashamba ya hapa ni kutengwa kwa colons. 295 00:20:23,970 --> 00:20:28,210 shamba mwisho, kama unaweza kuona, ni bin / tcsh, shell. 296 00:20:28,210 --> 00:20:30,230 Hiyo ni Specifier shell. 297 00:20:30,230 --> 00:20:33,240 Kuna jambo la kuvutia hapa. 298 00:20:33,240 --> 00:20:36,950 Wakati Unix kwa mara ya kwanza maendeleo, kulikuwa na tu 1 shell, 299 00:20:36,950 --> 00:20:38,350 hivyo kulikuwa hakuna uchaguzi huko. 300 00:20:38,350 --> 00:20:45,570 Hivyo kwa nini wao kuruhusu shamba katika orodha ya password kutaja shell? 301 00:20:45,570 --> 00:20:47,920 Sijui, lakini ni bahati kwamba walivyofanya. 302 00:20:47,920 --> 00:20:52,030 Ni badala vigumu kufanya mabadiliko katika muundo password database 303 00:20:52,030 --> 00:20:54,420 kwa sababu programu nyingi kutaja muundo wake 304 00:20:54,420 --> 00:20:57,720 na bila kuwa kuandikwa upya. 305 00:20:57,720 --> 00:21:04,130 Ni felicitous au kwa bahati mbaya kwamba maendeleo wao ni pamoja na shamba hilo. 306 00:21:04,130 --> 00:21:12,780 Kwamba aina ya password file line hutumiwa kwenye kompyuta zote Unix na Linux hivyo mbali kama mimi kujua. 307 00:21:12,780 --> 00:21:14,650 Mac ina mfumo wake mwenyewe. 308 00:21:14,650 --> 00:21:17,810 Ni kweli ina password file na mistari katika format kwamba, 309 00:21:17,810 --> 00:21:21,060 lakini hiyo siyo ambapo sifa user ni defined. 310 00:21:21,060 --> 00:21:24,200 Mwingine remark parenthetical huko. 311 00:21:36,470 --> 00:21:46,020 >> Kama wewe ni wito shell, unaweza kuiita kama ndogo-shell ya makombora yako zilizopo. 312 00:21:46,020 --> 00:21:50,480 Basi, ikiwa mimi kwenda hapa, hebu kujikwamua wa mambo hayo. 313 00:21:50,480 --> 00:21:53,350 Mimi hapa katika C-shell. 314 00:21:56,830 --> 00:22:01,200 Hiyo variable, ambayo kwa usahihi kubainisha shell yangu, 315 00:22:01,200 --> 00:22:04,300 kweli daima si njia ya kuaminika ya kuamua nini shell wewe ni mbio, 316 00:22:04,300 --> 00:22:06,220 lakini katika kesi hii ni. 317 00:22:06,220 --> 00:22:08,040 Nini kama mimi tu aina - 318 00:22:09,970 --> 00:22:12,470 Sasa mimi nina katika Bash. 319 00:22:12,470 --> 00:22:19,540 Baadhi ya mambo ni kwenda kuwa sawa. ls anasema mimi amri zangu. 320 00:22:19,540 --> 00:22:24,500 Kama mimi kusimamisha nyuma yangu C-shell, ls, sawa. Haki? 321 00:22:24,500 --> 00:22:28,890 fg, foreground, nyuma Bash yangu shell. 322 00:22:28,890 --> 00:22:38,290 Walemavu, directory sasa, nyuma ya C-shell. 323 00:22:38,290 --> 00:22:43,180 Walemavu, tofauti directory - kweli si directory mbalimbali katika kesi hii. 324 00:22:43,180 --> 00:22:45,110 Ni directory hiyo. 325 00:22:45,110 --> 00:22:50,000 Hebu sema mimi wanataka kuwaita amri hapa: ambapo ls. 326 00:22:50,000 --> 00:22:52,140 Je, hiyo nini? 327 00:22:52,140 --> 00:22:53,670 Ni anasema mimi ambapo ls amri, 328 00:22:53,670 --> 00:22:56,670 moja kwamba anatoa mimi orodha directory, iko katika ls. 329 00:22:56,670 --> 00:23:01,460 Hebu kwenda nyuma ya Bash shell. Hebu jaribu kitu kimoja. 330 00:23:01,460 --> 00:23:05,830 Hmm, kuvutia huko, ambapo: Amri haikupatikana. 331 00:23:05,830 --> 00:23:07,400 Kwa nini ni kwamba? 332 00:23:07,400 --> 00:23:11,570 ambapo amri ni kujengwa katika C-shell. 333 00:23:11,570 --> 00:23:15,630 Hii si amri ambayo ina kusomwa katika kumbukumbu kutoka mahali pengine na kuuawa. 334 00:23:15,630 --> 00:23:20,310 C-shell anaendesha hiyo kwa kuhamisha utekelezaji kwa sehemu ya maadili ya yake mwenyewe 335 00:23:20,310 --> 00:23:22,790 na si katika Bash shell. 336 00:23:22,790 --> 00:23:25,710 Hivyo Bash, si kuwa na kujengwa katika maagizo hayo, inaonekana kwa ajili yake, asipate, 337 00:23:25,710 --> 00:23:27,720 na sisi kupata kosa. 338 00:23:27,720 --> 00:23:32,290 Hivyo kuna tuna Bash shell mbio chini ya C-shell, na sisi wito kwamba ndogo-shell. 339 00:23:32,290 --> 00:23:38,480 Na tu katika kesi wewe ni curious, Bash shell ina njia yake ya kuuweka amri. 340 00:23:38,480 --> 00:23:42,590 heshi ina maana ya ukweli kwamba inaweza kuwa kunyongwa kwa kasi zaidi, 341 00:23:42,590 --> 00:23:44,960 kupatikana kwa haraka zaidi. 342 00:23:44,960 --> 00:23:48,610 Hiyo ni moja ya nyongeza kujengwa katika baadhi ya makombora hayo. 343 00:23:50,220 --> 00:23:54,200 >> Shells Bourne aina ni mkuu kuliko kwa ajili ya programu. 344 00:23:54,200 --> 00:23:57,300 Wao na miundo ya udhibiti kama tanzi, kauli masharti, 345 00:23:57,300 --> 00:24:00,240 aina ya amri hiyo unaweza kutumia katika lugha ya programu kama C 346 00:24:00,240 --> 00:24:04,190 au lugha yoyote. Labda wewe ni programu katika Java au chochote. 347 00:24:04,190 --> 00:24:06,460 Shells na wale pia. 348 00:24:06,460 --> 00:24:11,790 Shells Bourne-aina, hasa Bash, na zaidi 349 00:24:11,790 --> 00:24:15,730 na wao ni iliyoundwa na mabadiliko makubwa. 350 00:24:15,730 --> 00:24:20,700 Bash shell ina arrays. awali Bourne shell hana. 351 00:24:20,700 --> 00:24:26,130 Hivyo kwamba wanaweza kuwa mno faida kwa programu. 352 00:24:26,130 --> 00:24:29,810 C-shell kweli haina na arrays lakini hana mengi ya makala hizi nyingine. 353 00:24:29,810 --> 00:24:33,450 Shells Bourne aina nitafanya kasi 354 00:24:33,450 --> 00:24:36,520 kama hawana sifa lengo kwa ajili ya matumizi ya mwingiliano. 355 00:24:36,520 --> 00:24:39,340 Mzigo mambo chini kwa lengo moja, hii mizigo yao chini kwa lengo jingine. 356 00:24:39,340 --> 00:24:41,520 Kuna kwamba biashara-off huko. 357 00:24:41,520 --> 00:24:44,510 Wale makala ambayo ni lengo kwa ajili ya matumizi shirikishi 358 00:24:44,510 --> 00:24:46,920 kweli ni ya matumizi kidogo au hakuna kwa scripting. 359 00:24:46,920 --> 00:24:52,160 Ni inawezekana kutumia interactive ndogo-shell tu kama moja Nilianza huko 360 00:24:52,160 --> 00:24:57,780 mtihani nje amri ambayo unakusudia kutumia katika script. 361 00:24:57,780 --> 00:25:01,180 Hiyo ni nini unaweza kufanya na Perl. Unaweza kufanya hivyo kwa shells. 362 00:25:01,180 --> 00:25:04,850 Hata miundo kama kwa loops na kadhalika inaweza kuwa na kukimbia interactively. 363 00:25:04,850 --> 00:25:07,000 Wao ni mara kwa mara na manufaa kwa kukimbia interactively, 364 00:25:07,000 --> 00:25:10,180 lakini zaidi uwezekano unatumia yao kuendeleza script. 365 00:25:15,690 --> 00:25:17,400 >> Majina bandia. 366 00:25:17,400 --> 00:25:21,630 Hii ni kwenda kuwa juu ya C-shell. 367 00:25:23,270 --> 00:25:27,570 Historia utaratibu ambapo unaweza kupata nyuma kwa amri ya awali 368 00:25:27,570 --> 00:25:30,340 au sehemu ya yao kwamba umefanya tayari kukimbia. 369 00:25:30,340 --> 00:25:33,680 Tena, juu ya C-ganda, Bourne shell na Korn shell na mambo haya, 370 00:25:33,680 --> 00:25:35,620 lakini mimi si kwenda kupata ndani yao. 371 00:25:35,620 --> 00:25:40,340 Hivyo hapa ni baadhi Majina bandia muhimu kwamba mimi. 372 00:25:43,100 --> 00:25:44,880 Badala ya kuandika ls - ni amri ya kawaida - 373 00:25:44,880 --> 00:25:47,620 aina tu l na kujiokoa 1 tabia. 374 00:25:47,620 --> 00:25:50,600 ls na chaguzi mbalimbali, wale kazi yote. 375 00:25:50,600 --> 00:25:54,460 Kumbuka kwamba ufafanuzi wale na quotes karibu nao. 376 00:25:54,460 --> 00:25:57,520 Katika kesi hizi, quotes si muhimu. 377 00:25:57,520 --> 00:26:00,100 Kama unaweza kufafanua Majina bandia wale bila quotes, ingekuwa bado kazi. 378 00:26:00,100 --> 00:26:02,910 Wao ni ilipendekeza. 379 00:26:02,910 --> 00:26:04,900 Kuna hali ambayo huwezi kutumia quote 380 00:26:04,900 --> 00:26:08,050 kwa sababu unataka kitu kutokea ambayo quote ingeweza kuzuia. 381 00:26:08,050 --> 00:26:11,210 Wakati mwingine unaweza kunukuu sehemu ya ufafanuzi lakini si yote. 382 00:26:11,210 --> 00:26:17,010 Ni pia kwa ujumla ilipendekeza kwa kutumia quotes moja badala ya quotes mbili. 383 00:26:17,010 --> 00:26:19,750 Double quotes kuathiri ufafanuzi variable, 384 00:26:19,750 --> 00:26:22,950 hasa kusababisha athari yao kwa tathmini badala ya kutokomeza ugonjwa huo. 385 00:26:22,950 --> 00:26:25,910 Kwa nini tunataka kuacha tathmini hiyo? 386 00:26:25,910 --> 00:26:28,710 Na jinsi gani quotes kufanya hivyo kwa ajili yetu? 387 00:26:28,710 --> 00:26:32,600 >> Hapa ni amri ambayo unaweza kupata kuvutia. 388 00:26:32,600 --> 00:26:35,470 'Ls g *' 389 00:26:35,470 --> 00:26:37,640 g *, kama pengine kujua, ni kujieleza wildcard 390 00:26:37,640 --> 00:26:40,290 kwa majina yote file mwanzo na g. 391 00:26:40,290 --> 00:26:46,410 Kama mimi tu kuandika katika amri ls g *, mimi itabidi kupata orodha ya majina ya wale wote katika orodha yangu ya sasa. 392 00:26:46,410 --> 00:26:50,870 Kama mimi kufafanua kwamba alias kama ni hapa kwa quotes, 393 00:26:50,870 --> 00:26:56,990 itakuwa kukimbia amri hiyo katika orodha yako ya sasa ambapo wewe ni mbio. 394 00:26:56,990 --> 00:27:01,250 Lakini kama wewe kukimbia alias ufafanuzi bila quotes, 395 00:27:01,250 --> 00:27:09,620 itakuwa kutathmini wildcard g * wakati anaendesha amri hii kufafanua. 396 00:27:09,620 --> 00:27:14,400 Hivyo ufafanuzi wa alias itakuwa ls ikifuatiwa na orodha ya files katika orodha 397 00:27:14,400 --> 00:27:16,310 ambayo amri alias ni kunyongwa, 398 00:27:16,310 --> 00:27:19,180 bila kujali ambapo kwa kweli nia ya kukimbia amri. 399 00:27:19,180 --> 00:27:26,360 Hii ni si wa kutumia kiasi, na quotes moja kuzuia tathmini ya kinyota. 400 00:27:26,360 --> 00:27:30,780 Hivyo tu kupata ufafanuzi kuwa ls g *. 401 00:27:30,780 --> 00:27:35,510 Kisha wakati wewe kukimbia pak, LGS, basi unaweka kwamba nje. 402 00:27:35,510 --> 00:27:40,490 Sasa hakuna quotes, na itakuwa kutathmini kinyota wakati kukimbia amri pak. 403 00:27:40,490 --> 00:27:43,900 Hivyo kwamba ni jambo moja. 404 00:27:43,900 --> 00:27:46,590 Double quotes ingekuwa na athari hiyo hapa, 405 00:27:46,590 --> 00:27:50,580 lakini kuna kesi nyingine ambayo quotes mbili bila kazi vizuri. 406 00:27:50,580 --> 00:27:52,450 >> Hapa ni mtu mwingine. 407 00:27:52,450 --> 00:27:54,270 Unaweza kujua amri Grep. 408 00:27:54,270 --> 00:28:02,110 amri Grep inaweza kutumika kwa Scan faili kwa ajili ya mistari ambayo masharti fulani. 409 00:28:02,110 --> 00:28:10,350 Basi hebu kwenda juu ya hapa na mimi itabidi exit kutoka yangu Bourne shell. 410 00:28:23,570 --> 00:28:25,450 Sawa. Hapa ni file. 411 00:28:25,450 --> 00:28:31,490 Hebu kusema ni Grep abc masharti. Kuna ni. 412 00:28:31,490 --> 00:28:37,930 Kama mimi kufanya Grep zddd, mimi kupata chochote. Sawa. 413 00:28:37,930 --> 00:28:40,960 Hivyo hupata kamba, ni ripoti, haina kupata, haina taarifa. 414 00:28:40,960 --> 00:28:44,930 Ni matokeo line yoyote ambayo ina kamba kwamba juu yake. 415 00:28:44,930 --> 00:28:49,080 Kuna kila aina ya chaguzi hapa ambayo unaweza kupata katika nyaraka. 416 00:28:49,080 --> 00:28:52,160 Hapa ni njia moja ya kufanya hivyo. 417 00:28:52,160 --> 00:29:03,290 Nini kuhusu hii moja, pak grabc 'Grep abc? 418 00:29:03,290 --> 00:29:09,000 Hiyo inaenda pamoja na hoja 1 wakati alias inaelezwa. 419 00:29:09,000 --> 00:29:26,300 Basi, ikiwa mimi kufanya hivyo hapa, sasa kama mimi kufanya grabc, 420 00:29:26,300 --> 00:29:30,620 sasa alias pamoja na zaidi ya amri rahisi. Pia ina hoja. 421 00:29:30,620 --> 00:29:32,190 Hadi sasa kwamba kazi. 422 00:29:32,190 --> 00:29:38,590 Mimi na amri nyingine hapa, hii moja, hivyo wale ni masharti mbalimbali huko 423 00:29:38,590 --> 00:29:46,790 na kuonyesha kwamba hii haina kupata kitu huko tangu haina mechi. 424 00:29:46,790 --> 00:29:56,180 >> Nini kama nataka ni pamoja na katika alias ufafanuzi faili kwamba mimi nina kwenda kutafuta 425 00:29:56,180 --> 00:30:02,970 na mimi nataka kutoa kama hoja ya alias kamba kwamba mimi nina kuangalia kwa? 426 00:30:02,970 --> 00:30:08,040 Mimi kutaka kusema abc kama hoja ya alias yangu, 427 00:30:08,040 --> 00:30:10,870 lakini alias tayari kuamua file. 428 00:30:10,870 --> 00:30:15,710 Na hapo ndipo msemo huu anakuja in 429 00:30:20,430 --> 00:30:25,270 Taarifa hapa tuna Grep tu kama ilivyokuwa kabla. 430 00:30:25,270 --> 00:30:28,130 Tuna file hapa, masharti. 431 00:30:28,130 --> 00:30:35,610 \! ^, Aina ya kujieleza isiyo ya kawaida, nadhani, kama si hii kuona mbele. 432 00:30:35,610 --> 00:30:39,920 Moderators kumweka ni sehemu ya C-shell historia utaratibu. 433 00:30:39,920 --> 00:30:45,220 Ni tunakumbuka amri mapema, tunakumbuka hoja ya amri hizo na kadhalika. 434 00:30:46,760 --> 00:31:01,570 utaratibu historia kutumika kama sehemu ya aliasing. 435 00:31:01,570 --> 00:31:07,390 Kama wewe taja line baada ya mshangao uhakika, rejea kwamba line katika orodha historia, 436 00:31:07,390 --> 00:31:11,910 ambayo sisi si kuingia katika sasa tangu ni mzima mada nyingine. 437 00:31:11,910 --> 00:31:16,280 Inawezekana bayana sehemu ya mstari. 438 00:31:16,280 --> 00:31:22,950 Hivyo! 3:02 itakuwa Hoja ya pili ya amri namba 3. 439 00:31:22,950 --> 00:31:30,430 kareti hapa katika kujieleza hii anasimama kwa hoja ya kwanza. 440 00:31:30,430 --> 00:31:34,410 Kama huna kuwapa dalili ya ambayo amri wewe ni akimaanisha, 441 00:31:34,410 --> 00:31:37,300 lina maana ya amri mara moja uliopita, 442 00:31:37,300 --> 00:31:41,990 na kareti ni ishara ya hoja ya kwanza. 443 00:31:41,990 --> 00:31:46,820 Kwa sababu ni kareti na si idadi, huna haja ya kutumia matumbo, 444 00:31:46,820 --> 00:31:52,660 hivyo! ^ maana hoja ya kwanza kwa amri ya awali. 445 00:31:52,660 --> 00:31:55,020 kidogo mchanganyiko hapa. 446 00:31:55,020 --> 00:31:58,450 Katika kesi hiyo, wakati matumizi ya hii kama alias ufafanuzi, 447 00:31:58,450 --> 00:32:04,650 historia kumbukumbu yanatokana na amri ambayo alias ni kutumika. 448 00:32:04,650 --> 00:32:08,470 Hivyo hii ni kurejea 1 amri kama operesheni historia, 449 00:32:08,470 --> 00:32:11,810 lakini kama operesheni alias inahusu amri katika ambayo ungependa aina, 450 00:32:11,810 --> 00:32:14,780 kusema, grstrings_file. 451 00:32:17,440 --> 00:32:20,240 Tuna quotes hapa ndani yake. Nini backslash kwa? 452 00:32:20,240 --> 00:32:30,810 Katika kesi hiyo, kama mahali pengine, hatutaki kutekeleza utaratibu historia 453 00:32:30,810 --> 00:32:33,680 wakati kufafanua pak. 454 00:32:33,680 --> 00:32:37,900 Kama hatukuwa na backslash huko, shell bila kuvuta katika hoja ya kwanza 455 00:32:37,900 --> 00:32:41,870 amri ya haki kabla ya mbio hii amri alias, ambayo hatutaki. 456 00:32:41,870 --> 00:32:47,520 Tunataka hali hii kujengwa katika amri alias kuwaita katika hoja baadaye. 457 00:32:47,520 --> 00:32:53,550 Single quotes si kutoroka Moderators kumweka, historia ya kumbukumbu. 458 00:32:53,550 --> 00:32:57,450 Labda unajua kutoroka kujieleza maana ya kubadili maana ya kitu fulani. 459 00:32:57,450 --> 00:33:00,260 Katika kesi hiyo, maana ya kuacha kitu kutoka kuwa na maana maalum. 460 00:33:00,260 --> 00:33:03,030 Moderators kumweka ya maana ya pekee ni historia. 461 00:33:03,030 --> 00:33:05,790 Kutoroka na haina maana kwamba. 462 00:33:05,790 --> 00:33:08,080 Quotes kufanya hivyo; backslash gani. 463 00:33:08,080 --> 00:33:11,900 Hivyo sisi ni kweli kwa kutumia ngazi ya 2 ya kukimbia hapa. 464 00:33:23,500 --> 00:33:29,620 Mimi nina kwenda kwa hoja amri hii katika dirisha nyingine bila kuandika ni 465 00:33:29,620 --> 00:33:35,210 kwa kutumia shughuli hizo editing, ambayo unaweza kupata manufaa. 466 00:33:40,620 --> 00:33:42,460 Kitu kingine hapa mimi nitakuonyesha. 467 00:33:42,460 --> 00:33:46,730 Kama wewe tu aina alias na hakuna hoja, anakwambia hoja yako yote. 468 00:33:46,730 --> 00:33:48,640 Hii ni kundi la Majina bandia Mimi tayari alikuwa na hapa 469 00:33:48,640 --> 00:33:53,400 zaidi ya hao nimekuwa kutumia hapa leo. 470 00:33:53,400 --> 00:34:00,220 Lakini kama mimi tu aina kwa jina la bandia, ni anasema mimi nini maana yake. 471 00:34:00,220 --> 00:34:03,390 Taarifa kwamba quotes ni gone na backslash ni gone. 472 00:34:03,390 --> 00:34:08,620 Kamba hii hapa ni matokeo ya kuwa alias ufafanuzi, 473 00:34:08,620 --> 00:34:12,199 na sasa ina tu! ^ ndani yake. 474 00:34:12,199 --> 00:34:19,150 Hii ni kwenda kuangalia katika masharti faili kwa ajili ya kitu chochote. 475 00:34:19,150 --> 00:34:34,900 Basi, ikiwa mimi kufanya masharti grstrings_file, sikuweza kutoa kitu chochote kuangalia kwa huko, 476 00:34:34,900 --> 00:34:37,429 lakini ni kuangalia katika masharti. 477 00:34:37,429 --> 00:34:42,330 Ni hawakuona masharti neno katika masharti ya faili, lakini haina abc kupata. 478 00:34:42,330 --> 00:34:46,770 Na haina kupata hiyo. 479 00:34:46,770 --> 00:34:52,330 Hivyo hapa sisi ni kutoa hoja kwamba hits katika ufafanuzi wa pak, 480 00:34:52,330 --> 00:34:55,530 kwamba ni kuingizwa ndani yake. 481 00:34:55,530 --> 00:34:58,540 Ni wapi msemo huu linatokana. 482 00:34:58,540 --> 00:35:00,240 Unaweza kutumia zaidi ya 1. 483 00:35:00,240 --> 00:35:03,170 kareti ni ishara ya hoja ya kwanza. 484 00:35:03,170 --> 00:35:07,510 Kama alitaka kutumia hoja ya pili, ungekuwa kisha kusema: 2. 485 00:35:07,510 --> 00:35:11,250 Hakuna ishara maalum kwa ajili ya Hoja ya pili. 486 00:35:11,250 --> 00:35:14,790 Na kwa sababu unatumia numeral, ingekuwa kutumia koloni. 487 00:35:14,790 --> 00:35:17,220 Kuna, hata hivyo, uchaguzi mwingine hapa. 488 00:35:17,220 --> 00:35:21,220 ishara ya dola anasimama kwa hoja mwisho. 489 00:35:21,220 --> 00:35:23,320 Na kwa sababu hii ni ishara, unaweza omit koloni. 490 00:35:23,320 --> 00:35:25,870 Hivyo itakuwa hoja mwisho katika orodha. 491 00:35:25,870 --> 00:35:27,900 Na pia kuna kuwa moja. 492 00:35:27,900 --> 00:35:31,380 Kinyota maana wote, hivyo hii ni kamili hoja orodha, 493 00:35:31,380 --> 00:35:35,150 na tena, unaweza omit ya matumbo kwa sababu si numeral. 494 00:35:36,970 --> 00:35:39,950 Natumaini wewe ni wote kufanya maadhimisho haya yote. 495 00:35:39,950 --> 00:35:54,100 >> Utaratibu historia unaweza kwenda nyuma ya mistari mapema katika orodha historia. 496 00:35:54,100 --> 00:36:01,370 Unaweza kufanya hivyo katika alias ufafanuzi. 497 00:36:01,370 --> 00:36:02,950 Sijawahi kuona hii kufanyika. 498 00:36:02,950 --> 00:36:05,840 Itakuwa na athari za kuunganisha nje amri mapema kutokana na orodha historia 499 00:36:05,840 --> 00:36:08,130 wakati nitafanya alias, ambayo inaweza kuwa amri mbalimbali 500 00:36:08,130 --> 00:36:11,240 kulingana na wakati na mahali ambapo nitafanya hivyo. 501 00:36:11,240 --> 00:36:14,020 Conceivably unaweza kutaka kujiondoa kumbukumbu hiyo 502 00:36:14,020 --> 00:36:15,900 tu kujua nini amri mapema mara. 503 00:36:15,900 --> 00:36:17,280 Sijawahi kuona hili kutokea. 504 00:36:17,280 --> 00:36:19,970 Nadhani mtu kutaka, lakini hii ni uwezekano sana. 505 00:36:19,970 --> 00:36:26,480 Kuna kitu kingine hapa. 506 00:36:26,480 --> 00:36:33,060 Kama unaweza kutumia historia ya aina ya kumbukumbu, 507 00:36:33,060 --> 00:36:38,190 kisha tu hoja ambayo kuna kumbukumbu hiyo ni kutumika. 508 00:36:38,190 --> 00:36:42,180 Kama una alias ufafanuzi ambayo haina kutumia historia ya aina ya kumbukumbu, 509 00:36:42,180 --> 00:36:44,060 kama tu inakuwa mwanzo wa amri 510 00:36:44,060 --> 00:36:46,520 na una hoja zaidi, kisha kitu chochote aina baada ya 511 00:36:46,520 --> 00:36:48,450 kuongezwa kwa amri. 512 00:36:48,450 --> 00:36:52,040 Katika kesi hiyo, mfano mimi tu alitoa huko, sisi kutumika hoja ya kwanza; 513 00:36:52,040 --> 00:36:54,610 sisi haikutumia wengine wowote. 514 00:36:54,610 --> 00:36:57,960 Kama hoja nyingine alikuwa amepewa juu ya mstari amri, wao bila kutumika. 515 00:36:57,960 --> 00:37:04,630 Hivyo kama wewe kutumia historia kumbukumbu wakati wote, basi lazima kuitumia kupata hoja yoyote. 516 00:37:04,630 --> 00:37:11,310 >> Kuna kitu kingine hapa nataka tu kutaja, sehemu parenthetically ni, 517 00:37:11,310 --> 00:37:15,250 yaani hii utaratibu historia na Moderators kumweka 518 00:37:15,250 --> 00:37:18,010 huenda nyuma ya awali C-shell. 519 00:37:18,010 --> 00:37:27,060 tcsh ilianzisha shughuli historia 520 00:37:27,060 --> 00:37:30,910 ambayo matumizi aina ya amri na masharti kutoka kwa wahariri, 521 00:37:30,910 --> 00:37:33,650 ama Emacs au vi. 522 00:37:33,650 --> 00:37:36,430 Maoni yangu binafsi ni Emacs ni rahisi kutumia kwa lengo hili 523 00:37:36,430 --> 00:37:39,390 hata kama wewe kutumia vi kwa editing yako ya kawaida. 524 00:37:39,390 --> 00:37:43,900 Kuna amri mbalimbali Emacs ambayo sasa wanaishi kwa historia. 525 00:37:43,900 --> 00:37:46,410 Kudhibiti P anapata line uliopita katika orodha historia. 526 00:37:46,410 --> 00:37:48,840 Mwingine Kudhibiti P kupata wewe moja kabla ya hapo. 527 00:37:48,840 --> 00:37:50,540 mshale juu haina kitu kimoja. 528 00:37:50,540 --> 00:37:54,190 Kudhibiti N anapata amri ijayo kama umefanya tayari scrolled nyuma baadhi ya njia. 529 00:37:54,190 --> 00:37:55,880 Chini arrow gani kwamba pia. 530 00:37:55,880 --> 00:38:00,480 Unaweza hoja kushoto na kulia kwa mishale na mambo mengine mbalimbali. 531 00:38:00,480 --> 00:38:02,390 Hii inaweza kufanya matumizi ya mfumo wa historia 532 00:38:02,390 --> 00:38:05,070 rahisi zaidi kuliko kutumia hatua syntax mshangao, 533 00:38:05,070 --> 00:38:07,930 lakini bila kutumia katika alias ufafanuzi. 534 00:38:17,780 --> 00:38:20,020 Tutaweza kwenda juu kwamba baadhi ya wakati mwingine. 535 00:38:24,300 --> 00:38:25,810 >> Vigezo. 536 00:38:26,880 --> 00:38:29,510 Unajua nini vigezo ni katika lugha ya programu. 537 00:38:29,510 --> 00:38:31,680 shells na wao pia. 538 00:38:31,680 --> 00:38:37,350 C-shell anatumia amri kuweka hawawajui vigezo, 539 00:38:37,350 --> 00:38:41,360 ili seti variable a na thamani ya b - 540 00:38:41,360 --> 00:38:46,390 kama nilivyosema, ufafanuzi maana lakini mfano wa jinsi hii ni kutumika. 541 00:38:48,790 --> 00:38:52,410 seti amri kujenga variable ikiwa haina tayari zipo. 542 00:38:55,270 --> 00:39:02,490 vigezo nafasi hii kwa scripts shell inaweza kuchukuliwa vigezo, 543 00:39:02,490 --> 00:39:10,750 lakini matumizi yao na sheria kwa ajili yao ni tofauti. 544 00:39:10,750 --> 00:39:14,320 Huwezi kuwapa thamani $ 1 katika mwendo wa script. 545 00:39:14,320 --> 00:39:18,340 Ingekuwa kufafanua variable mpya kwa ajili hiyo kama baadhi ya alitaka. 546 00:39:23,000 --> 00:39:28,470 Aina kuweka na hakuna hoja na kupata orodha ya vigezo vyote sasa defined. 547 00:39:28,470 --> 00:39:34,220 Na hebu kupata juu ya shell yangu nyingine hapa na kuona nini sisi kupata kama sisi kufanya hivyo. 548 00:39:34,220 --> 00:39:37,110 Orodha kabisa kwa muda mrefu huko, sawa? 549 00:39:37,110 --> 00:39:40,990 Kitabu juu kidogo. Kuangalia yote hayo. 550 00:39:40,990 --> 00:39:44,330 Baadhi ya mambo haya yanatokana moja kwa moja na shell. 551 00:39:44,330 --> 00:39:49,320 shell inajenga kutofautiana na anatoa ni thamani. 552 00:39:49,320 --> 00:39:52,730 Baadhi yao yanatokana na shell lakini kisha upya kwa mtumiaji 553 00:39:52,730 --> 00:39:54,820 kulingana na matakwa yake. 554 00:39:54,820 --> 00:39:59,110 Na baadhi yao ni kuundwa kwa user kulingana na anachokifanya siku hiyo. 555 00:39:59,110 --> 00:40:01,880 Hiyo ni kuweka na hakuna hoja. 556 00:40:06,920 --> 00:40:10,050 Kuna isiyo ya kawaida kipengele hapa ya jambo hili ni. 557 00:40:10,050 --> 00:40:17,980 Kuna kuwa ama hakuna nafasi kati ya usawa saini na jina variable 558 00:40:17,980 --> 00:40:23,700 na thamani au nafasi kwa pande zote mbili wa usawa ishara, 559 00:40:23,700 --> 00:40:28,940 kama katika hili. 560 00:40:35,620 --> 00:40:41,340 Hii si kazi, na hii kwa kweli ni amri halali 561 00:40:41,340 --> 00:40:43,390 lakini si kufanya nini nia. 562 00:40:43,390 --> 00:40:50,070 Amri ambayo kazi kwa sababu kama wewe tu kusema kuweka na jina variable 563 00:40:50,070 --> 00:40:54,890 na hakuna usawa ishara au kuweka na jina variable na usawa saini na hakuna thamani, 564 00:40:54,890 --> 00:40:57,770 itakuwa kuweka kutofautiana kwa null thamani. 565 00:40:57,770 --> 00:41:00,120 Hivyo kuweka = ni amri halali. 566 00:41:00,120 --> 00:41:04,370 seti amri unaweza kufafanua zaidi ya 1 kutofautiana juu ya mstari huo. 567 00:41:04,370 --> 00:41:11,240 Hivyo amri hii hapa ina athari ya kufafanua wote a na b kwa null maadili. 568 00:41:11,240 --> 00:41:13,470 Pengine si unataka nini. 569 00:41:13,470 --> 00:41:17,940 Hii ni moja ya hapa, hapo awali, itasababisha makosa 570 00:41:17,940 --> 00:41:21,270 kwa sababu = b ni si kujieleza halali. 571 00:41:21,270 --> 00:41:23,680 jina variable haiwezi kuanza kwa usawa ishara. 572 00:41:26,760 --> 00:41:29,080 Na kuna mambo haya kwa undani zaidi hapa. 573 00:41:29,080 --> 00:41:36,820 colons zilitumika kuchagua hoja kutokana na historia ya mistari, 574 00:41:36,820 --> 00:41:41,210 na inaweza kutumika - na mimi hakwenda kabla ya - kurekebisha mambo hayo. 575 00:41:41,210 --> 00:41:44,480 Wao pia inaweza kutumika kurekebisha vigezo shell. 576 00:41:44,480 --> 00:41:49,050 Hii ni moja ya hapa, $, ina thamani ya. 577 00:41:49,050 --> 00:41:55,040 : R kuchukua mbali ugani. 578 00:41:55,040 --> 00:41:57,200 ugani kuwa kitu chochote zifuatazo dot, 579 00:41:57,200 --> 00:41:59,200 dot na kitu chochote zifuatazo mwishoni mwa file, 580 00:41:59,200 --> 00:42:03,230 tu mwishoni mwa orodha baada ya kufyeka mwisho. 581 00:42:03,230 --> 00:42:05,480 Hivyo nina hapa. 582 00:42:05,480 --> 00:42:10,730 a ni kwamba. Ni mapenzi tone. O. 583 00:42:10,730 --> 00:42:16,510 Kama hakuna ugani, tu pathnames baada ya kufyeka mwisho, itakuwa na hakuna athari. 584 00:42:16,510 --> 00:42:27,480 a: h kwamba maelezo kutofautiana, kuchukua mbali ya mwisho ya orodha directory, 585 00:42:27,480 --> 00:42:29,660 tena, tu baada ya kufyeka mwisho. 586 00:42:29,660 --> 00:42:33,160 Hivyo / a / b / c inakuwa / a / b, 587 00:42:33,160 --> 00:42:38,870 lakini hii moja ni iliyopita kwa sababu hiki baada ya orodha ni null. 588 00:42:38,870 --> 00:42:43,070 Hapa kuna kitu ambacho pia nataka kusisitiza. 589 00:42:43,070 --> 00:42:46,770 Kufuzu haya si kutafuta kuwepo kwa files haya. 590 00:42:46,770 --> 00:42:48,910 Wao tu kuangalia kwa masharti. 591 00:42:48,910 --> 00:42:54,520 Hizi ni nia ya kuendesha faili majina, pathnames, 592 00:42:54,520 --> 00:42:57,520 lakini inaweza kutumika juu ya kamba yoyote hata kama si jina la faili. 593 00:42:57,520 --> 00:42:58,920 Na hawana kuangalia kwa kuwepo, 594 00:42:58,920 --> 00:43:03,550 hivyo kama hakuna file hiyo, / / ​​b / c, hii bado kazi. 595 00:43:03,550 --> 00:43:06,930 Kama ni ya matumizi yoyote ni swali jingine, lakini bado kazi. 596 00:43:06,930 --> 00:43:12,850 Vigezo ni tofauti katika shells Bourne. Tutaweza kupata baadaye. 597 00:43:12,850 --> 00:43:18,240 Dollar ishara inaweza alitoroka tu kama Moderators kumweka na kinyota. 598 00:43:18,240 --> 00:43:21,760 Dollar ishara inaweza alitoroka na backslash au quotes moja. 599 00:43:21,760 --> 00:43:24,790 Double quotes kuwa na athari isiyo ya kawaida katika shells wote 600 00:43:24,790 --> 00:43:28,690 ya kulazimisha tathmini ya dola ishara kujieleza kutofautiana. 601 00:43:28,690 --> 00:43:31,960 Hivyo kama ni kuwa alitoroka kwa njia moja, quotes mbili unaweza kuwa na athari 602 00:43:31,960 --> 00:43:34,380 ya kusababisha kuwa ni tathmini anyway. 603 00:43:34,380 --> 00:43:37,090 Hii ni utata kidogo. 604 00:43:37,090 --> 00:43:43,740 Kama kuna ngazi mbalimbali ya kukimbia, kama vile moja quotes ndani ya quotes mbili 605 00:43:43,740 --> 00:43:46,770 au quotes mbili ndani ya quotes moja, unapaswa mtihani kwa kuona nini kitatokea 606 00:43:46,770 --> 00:43:49,520 kwa kutofautiana kama wewe ni kutumia moja. 607 00:43:49,520 --> 00:43:53,410 Wale 2 hali - ndani ya mara mbili ya moja, moja ndani ya mara mbili - 608 00:43:53,410 --> 00:43:55,980 si lazima kukupa matokeo hayo. 609 00:44:02,520 --> 00:44:05,600 Mazingira vigezo, amefungwa vigezo C-shell. 610 00:44:05,600 --> 00:44:08,340 Mazingira vigezo pia ni vigezo katika C-shell, 611 00:44:08,340 --> 00:44:11,250 na wao pia ni vigezo katika shells mengine pia. 612 00:44:11,250 --> 00:44:15,230 Katika C-shell, wao ni seti tofauti. 613 00:44:15,230 --> 00:44:18,130 mambo mimi alikuwa akisema kabla ya ni kuhusu vigezo shell. 614 00:44:18,130 --> 00:44:21,300 Mazingira vigezo ni kuweka tofauti ya vigezo 615 00:44:21,300 --> 00:44:28,650 na ubaguzi wa vigezo kadhaa ambayo sisi kuwaita amefungwa vigezo, 616 00:44:28,650 --> 00:44:30,640 ambayo ni muhimu sana na tutaweza kupata katika wale baadaye. 617 00:44:30,640 --> 00:44:34,950 Mazingira vigezo ni moja kwa moja kupita juu ya 618 00:44:34,950 --> 00:44:41,800 kwa shells au amri kwamba ni kukimbia kutoka shell yako. 619 00:44:41,800 --> 00:44:46,220 mambo mengine ni si. vigezo shell, Majina bandia si. Mazingira vigezo ni. 620 00:44:46,220 --> 00:44:48,630 Hiyo ni kwa nini sisi kuwaita vigezo mazingira, 621 00:44:48,630 --> 00:44:55,030 wazo kuwa kuwa mazingira hadi siku za nyuma tu shell yako ya sasa. 622 00:44:55,030 --> 00:45:00,510 Inaweza kutumika kwa kufafanua mambo kwa amri. 623 00:45:00,510 --> 00:45:05,470 Hapa ni mfano. PRINTER, LPDEST. 624 00:45:05,470 --> 00:45:12,270 Wote wa vigezo wale unaweza kufafanua printer kwamba amri kutumia magazeti mambo. 625 00:45:12,270 --> 00:45:16,500 Kama una Printers nyingi duniani, unaweza kutaka kuweka moja wewe kama. 626 00:45:16,500 --> 00:45:21,320 sababu tuna 2 vigezo ni kwamba seti tofauti ya amri ziliandikwa 627 00:45:21,320 --> 00:45:23,870 kwa kutumia vigezo tofauti hizi. 628 00:45:23,870 --> 00:45:25,910 Unaweza kuwapa maadili tofauti. 629 00:45:25,910 --> 00:45:28,860 Uwezekano mkubwa wewe utakuwa kuwapa wote thamani sawa. 630 00:45:28,860 --> 00:45:35,840 Mambo hayo kazi kwa sababu amri hiyo kufanya uchapishaji 631 00:45:35,840 --> 00:45:40,740 walikuwa iliyowekwa kuchunguza maadili ya vigezo hivi. 632 00:45:42,200 --> 00:45:46,150 Kama mpango Haikuandikwa kwa njia hiyo, ikiwa ni kwa njia ya maandishi kitu kingine, 633 00:45:46,150 --> 00:45:48,280 variable itakuwa lisilo na maana. 634 00:45:48,280 --> 00:45:52,530 Hivyo mfumo wa uendeshaji si kuangalia kwa vigezo hivi 635 00:45:52,530 --> 00:45:55,210 kila wakati rejea printer. 636 00:45:55,210 --> 00:45:59,090 amri kwamba hana uchapishaji ni kutafuta vigezo hivi kama ni iliyowekwa kwa njia hiyo. 637 00:46:11,030 --> 00:46:15,240 Vigezo hivi ni mara nyingi hufafanuliwa katika mafaili yako initialization 638 00:46:15,240 --> 00:46:19,440 lakini siyo lazima. 639 00:46:19,440 --> 00:46:21,050 Unaweza kufafanua yao juu ya mstari amri. 640 00:46:21,050 --> 00:46:24,090 Wanaweza kuelezwa katika amri. 641 00:46:24,090 --> 00:46:28,740 amri kwamba anaendesha kitu wanaweza kuwa uteuzi wake wa vigezo - 642 00:46:28,740 --> 00:46:32,390 vigezo kuwa ni ya kipekee na hasa programu ya mfuko, kwa mfano. 643 00:46:32,390 --> 00:46:36,740 Wao kuelezwa wakati wewe kukimbia ya mfuko huo. 644 00:46:39,690 --> 00:46:42,680 Ni jinsi gani vigezo hivi kupita ndogo ya shell? 645 00:46:42,680 --> 00:46:48,210 Wakati ndogo-shell imeandikwa, haina kuandika katika eneo hilo. 646 00:46:48,210 --> 00:46:53,260 eneo la ndogo-shell kuwa ni kujitoa kwa mazingira vigezo 647 00:46:53,260 --> 00:46:56,450 si iliyoandikwa na ndogo-shell; imeandikwa na kuiga. 648 00:46:56,450 --> 00:47:00,530 Wakati kukimbia amri ya kawaida, kama vile amri hizi na magazeti au chochote, 649 00:47:00,530 --> 00:47:03,840 wao kuanza mbali na kujenga shell mpya. 650 00:47:03,840 --> 00:47:06,190 shell inajenga shell na kisha overwrites sehemu yake 651 00:47:06,190 --> 00:47:08,800 na amri kwamba wewe ni mbio, ambayo ni utata kidogo, 652 00:47:08,800 --> 00:47:10,740 lakini hiyo ni jinsi amri hizi kupata mazingira vigezo 653 00:47:10,740 --> 00:47:14,890 kwamba wao kisha rejea baadaye. 654 00:47:21,920 --> 00:47:28,010 amri hapa kwa ajili ya zoezi setenv kutofautiana. 655 00:47:28,010 --> 00:47:36,470 Hiyo ni jinsi gani unaweza kufafanua yake. Ni 3 vipengele: setenv, kutofautiana, thamani. 656 00:47:36,470 --> 00:47:44,710 Kama wewe tu setenv na hakuna hoja, je, kupata? 657 00:47:47,220 --> 00:47:48,810 orodha ya yote ya vigezo hizo. 658 00:47:48,810 --> 00:47:53,190 Tena, ni nzuri kwa muda mrefu orodha na katika kesi hii, kama kwa wengine, 659 00:47:53,190 --> 00:47:57,320 vigezo hivi yanatokana kwa kiasi kikubwa na operesheni yangu kuingia na shell yenyewe 660 00:47:57,320 --> 00:47:59,740 badala ya kitu chochote mimi. 661 00:47:59,740 --> 00:48:03,580 Kuna amri nyingine hapa, printenv. 662 00:48:07,520 --> 00:48:10,340 Hiyo pia Prints nje ya mazingira. 663 00:48:10,340 --> 00:48:15,240 Taarifa jambo hili mwisho hapa, EDITOR = vi. 664 00:48:15,240 --> 00:48:21,120 Kwamba anasema kwamba kama mimi nina kutumia kitu ambacho wito mhariri 665 00:48:21,120 --> 00:48:25,530 na mimi si bayana mhariri na inaruhusu me uchaguzi, inaweza kutoa me vi. 666 00:48:25,530 --> 00:48:37,280 Nini kama mimi kufanya printenv mhariri? Ni anasema mimi ni nini. 667 00:48:37,280 --> 00:48:41,340 Haki kabla ya hapo, kulikuwa na kutofautiana, chini. 668 00:48:41,340 --> 00:48:46,040 Hizi ni defaults yako chaguzi wakati mimi kukimbia amri chini, 669 00:48:46,040 --> 00:48:49,360 ambayo inaonyesha files. 670 00:48:49,360 --> 00:48:55,910 Basi, ikiwa mimi kufanya hivyo, printenv wanaweza kuchukua 1 hoja au 0 hoja, 671 00:48:55,910 --> 00:48:58,070 si zaidi ya 1. 672 00:49:01,800 --> 00:49:05,690 Kuna amri nyingine pia, lakini sisi siyo kwenda kupata katika leo kwamba wote. 673 00:49:05,690 --> 00:49:11,010 Kumbuka kulikuwa na modifiers kwa vigezo shell kama: h, 674 00:49:11,010 --> 00:49:14,350 ambayo zitashuka ya mwisho ya pathname, 675 00:49:14,350 --> 00:49:17,950 au: r, ambayo itakuwa tone ugani. 676 00:49:17,950 --> 00:49:23,110 Sasa wale kuomba kwa mazingira vigezo pia. Hawakuwa kutumika. 677 00:49:23,110 --> 00:49:24,960 Ni kutumika kuwa hawakuweza kuwa iliyopita. Sasa wanaweza kuwa. 678 00:49:24,960 --> 00:49:29,190 Ni moja ya maendeleo na maendeleo ya shells zaidi ya miaka. 679 00:49:29,190 --> 00:49:35,620 Mimi alikuwa akisema kwamba shells kama sehemu ya mazingira 680 00:49:35,620 --> 00:49:43,040 na vigezo shell katika C-shell ni, isipokuwa kwa baadhi, seti tofauti. 681 00:49:43,040 --> 00:49:46,790 Unaweza kuanzisha variable mazingira na kutofautiana shell kwa jina moja. 682 00:49:46,790 --> 00:49:49,220 Watakuwa vigezo mbalimbali; wao wanaweza kuwa na maadili mbalimbali. 683 00:49:49,220 --> 00:49:53,090 Kubadilisha thamani ya moja si mabadiliko thamani ya nyingine. 684 00:49:53,090 --> 00:49:58,070 Vigezo Haya yote ni tathmini na ishara ya dola - $, $ chochote. 685 00:49:58,070 --> 00:50:02,340 Basi nini kama una hii? Je unajua moja kupata? 686 00:50:02,340 --> 00:50:04,520 Katika vipimo yangu I got variable shell, 687 00:50:04,520 --> 00:50:07,240 lakini hii si kumbukumbu na huwezi kutegemea juu ya hilo. 688 00:50:07,240 --> 00:50:10,270 Basi, mimi kuuliza wewe, ni kujenga shell na mazingira vigezo 689 00:50:10,270 --> 00:50:13,490 kwa majina moja wazo zuri? Hakuna Sawa. 690 00:50:13,490 --> 00:50:17,460 Ni wale isipokuwa kuu ambayo mazingira na shell vigezo gani 691 00:50:17,460 --> 00:50:19,860 ni wanaohusishwa na kila mmoja? 692 00:50:19,860 --> 00:50:27,470 Kuna hizi 4. 693 00:50:32,030 --> 00:50:35,510 Capital barua mazingira MREFU variable, 694 00:50:35,510 --> 00:50:41,540 shell variable mrefu katika barua ndogo, aina ya terminal wivu. 695 00:50:41,540 --> 00:50:47,430 Mimi tu kwenda juu hapa na mimi nina kwenda kufanya echo, amri muhimu hapa, 696 00:50:47,430 --> 00:50:52,560 $ $ MREFU mrefu. Na pale. 697 00:50:52,560 --> 00:51:00,570 xterm ni aina terminal kwa madirisha kuonyeshwa katika x Window System. 698 00:51:00,570 --> 00:51:04,330 xterm-rangi ni tofauti ya kwamba inaruhusu rangi tofauti. 699 00:51:04,330 --> 00:51:06,580 Kwa nini sisi kufafanua haya? Hii ni nini nzuri kwa ajili ya? 700 00:51:06,580 --> 00:51:09,740 Amri hiyo upya screen kama mhariri 701 00:51:09,740 --> 00:51:13,680 kutuma Utaratibu fulani, aitwaye Utaratibu wa kutoroka, 702 00:51:13,680 --> 00:51:18,160 kwa terminal au dirisha upya yake na kadhalika. 703 00:51:18,160 --> 00:51:20,990 Utaratibu wa wale ni tofauti kwa aina tofauti ya vituo. 704 00:51:20,990 --> 00:51:23,100 Hii inaonyesha ni ambayo ndio kutumia. 705 00:51:23,100 --> 00:51:25,900 Wakati mwingine kuna masuala huko. 706 00:51:25,900 --> 00:51:28,600 Unaweza kutaka mabadiliko hayo. 707 00:51:28,600 --> 00:51:30,780 Kama mambo si kazi, wakati mwingine aina terminal ni kuweka sahihi, 708 00:51:30,780 --> 00:51:36,440 unaweza kuwa na uwezo wa kurekebisha na upya mrefu kutofautiana. 709 00:51:36,440 --> 00:51:43,420 Katika kesi hizi, kubadilisha variable moja, kutofautiana mazingira au kutofautiana shell, 710 00:51:43,420 --> 00:51:45,970 wanapaswa kubadilika mtu mwingine. 711 00:51:45,970 --> 00:51:50,970 Nimekuwa aligundua njia ya uzoefu kwamba mabadiliko ya MREFU katika mji mkuu wa barua 712 00:51:50,970 --> 00:51:54,060 haina daima mabadiliko shell variable mrefu katika barua ndogo. 713 00:51:54,060 --> 00:51:55,550 Hii ni mdudu. 714 00:51:55,550 --> 00:51:59,400 Sijui kama kwamba ni kweli daima. Zaidi ya muda si kweli, lakini inaweza kuwa. 715 00:51:59,400 --> 00:52:02,490 Hivyo kama wewe kufanya mabadiliko, kuangalia tu kuwa nje. 716 00:52:02,490 --> 00:52:05,830 Ni mara nyingi kwamba unahitaji kubadilisha thamani hiyo, lakini mara moja katika wakati wewe kufanya. 717 00:52:05,830 --> 00:52:08,260 Mazingira variable USER. 718 00:52:08,260 --> 00:52:12,070 Tena, mazingira variable katika mji mkuu wa barua, shell variable katika barua ndogo. 719 00:52:12,070 --> 00:52:13,710 Hii ni jina lako. 720 00:52:13,710 --> 00:52:16,730 Ni tu chini ya hali ya kipekee sana 721 00:52:16,730 --> 00:52:18,420 kuwa wewe unataka kubadili hali hiyo. 722 00:52:18,420 --> 00:52:22,350 Kama jina lako ni mtu mwingine, inaweza kutupa kila aina ya mambo mbali. 723 00:52:22,350 --> 00:52:26,040 Nyumbani directory, mtumiaji nyumbani directory. 724 00:52:26,040 --> 00:52:28,060 Tena, wewe si unataka kubadili hali hiyo. 725 00:52:28,060 --> 00:52:32,260 Taarifa katika matukio haya yote na moja kwamba sisi ni juu ya bima, njia variable, 726 00:52:32,260 --> 00:52:37,070 variable mazingira ni katika mji mkuu wa barua na amefungwa shell variable ni katika barua ndogo. 727 00:52:37,070 --> 00:52:39,240 Kama mabadiliko ya moja, unapaswa kubadili nyingine. 728 00:52:39,240 --> 00:52:45,960 Aina hii ya kisheria haiwezi kuwa imara kama huwezi kumfunga 2 vigezo, 729 00:52:45,960 --> 00:52:50,570 kingine chochote zaidi ya hizi 4, na kisheria katika vigezo hivi hauwezi kutenguliwa, 730 00:52:50,570 --> 00:52:52,090 huwezi kutenganisha yao. 731 00:52:52,090 --> 00:52:55,820 Basi hao jozi 4 ya vigezo ni amefungwa. 732 00:52:55,820 --> 00:52:59,020 Wao daima itakuwa. Hakuna wengine itakuwa. 733 00:52:59,020 --> 00:53:05,720 Aidha, itakuwa inawezekana kujenga vigezo na majina sawa 734 00:53:05,720 --> 00:53:07,780 ya aina tofauti. 735 00:53:07,780 --> 00:53:11,600 Unaweza kufanya shell variable mrefu katika barua ndogo 736 00:53:11,600 --> 00:53:14,990 au mazingira variable MREFU katika herufi kubwa. 737 00:53:14,990 --> 00:53:19,040 Wale vigezo itakuwa huru wa mambo haya vilivyooanishwa 738 00:53:19,040 --> 00:53:20,780 na wangeweza kuwa na uhuru wa kila mmoja. 739 00:53:20,780 --> 00:53:23,780 Siwezi kufikiria nini ungependa kufanya hivyo kama unataka kuwachanganya watu. 740 00:53:24,600 --> 00:53:29,730 Hii ni moja ya hapa, njia variable, hii ni moja muhimu. 741 00:53:29,730 --> 00:53:35,550 Jambo jingine hapa ni kwamba kuna inaweza kuwa kesi 742 00:53:35,550 --> 00:53:40,430 ya vigezo na majina sawa paired ambayo si amefungwa kwa kila mmoja. 743 00:53:40,430 --> 00:53:45,000 Kuna inaweza kuwa vigezo, SHELL na shell, katika mji mkuu na ndogo barua. 744 00:53:45,000 --> 00:53:48,300 Kulingana na jina kwamba, sijui kama kwamba kutofautiana ni variable shell 745 00:53:48,300 --> 00:53:51,580 au kutofautiana mazingira, na siyo wajibu wa kila mmoja. 746 00:53:51,580 --> 00:53:55,300 Ili aina ya majina vilivyooanishwa haimaanishi amefungwa vigezo. 747 00:53:55,300 --> 00:53:58,830 variable njia, ambayo nilikuwa kuonyesha kabla, 748 00:53:58,830 --> 00:54:01,880 ni orodha ya pathnames ambayo shell inaonekana kwa amri. 749 00:54:01,880 --> 00:54:12,320 Hebu kupata juu ya dirisha hili hapa na tutaweza kufanya $ echo PATH, barua mji mkuu - 750 00:54:12,320 --> 00:54:20,230 variable mazingira - echo $ njia, barua ndogo - shell kutofautiana. 751 00:54:20,230 --> 00:54:24,980 Taarifa kwamba orodha ya directories ni sawa. Hizi ni amefungwa. 752 00:54:24,980 --> 00:54:26,590 Mabadiliko ya moja, mabadiliko ya nyingine. 753 00:54:26,590 --> 00:54:32,970 Katika kutofautiana mazingira mambo ni kutengwa na colons. Taarifa hiyo. 754 00:54:32,970 --> 00:54:35,130 vigezo shell ni kutengwa na nafasi. 755 00:54:35,130 --> 00:54:38,760 Variable hii mazingira ni kamba moja. 756 00:54:38,760 --> 00:54:41,480 variable shell ni safu. 757 00:54:41,480 --> 00:54:43,490 Bourne shell hawakuwa na arrays. 758 00:54:43,490 --> 00:54:46,600 Bash gani, lakini tayari hii ni sehemu ya kudumu ya shell. 759 00:54:46,600 --> 00:54:48,660 Hii ni kamba moja na si safu. 760 00:54:48,660 --> 00:54:50,420 C-shell daima alikuwa arrays. 761 00:54:50,420 --> 00:54:52,630 arrays ni rahisi sana kufanya kazi pamoja. 762 00:54:52,630 --> 00:54:54,400 Unaweza kutaja sehemu hizo. 763 00:54:54,400 --> 00:55:02,350 Hivyo echo $ njia [1] na mimi kupata / usr / bin, hiki kwanza. 764 00:55:02,350 --> 00:55:09,950 Tena, kumbuka dola ishara anasimama kwa kipengele cha mwisho cha orodha historia. 765 00:55:09,950 --> 00:55:16,850 Nini kinatokea huko? Ni walijaribu kutafuta ishara ya dola kama ishara ya kutofautiana. 766 00:55:16,850 --> 00:55:20,850 Mimi kutoroka. Oops. Itakuwa si kuchukua aidha. 767 00:55:20,850 --> 00:55:23,690 Baadhi ya mambo haya si kazi vizuri. 768 00:55:23,690 --> 00:55:28,140 Labda tutaweza kuondoka tu kwamba nje. 769 00:55:28,140 --> 00:55:36,980 Kinyota inahusu jambo zima, lakini hiyo ni nini kupata kama huna bayana hiki. 770 00:55:36,980 --> 00:55:46,170 Njia nyingine ya kuwa safu vigezo inaweza kuwa manipulated, 771 00:55:46,170 --> 00:55:49,500 idadi ya vipengele huko, 7 vipengele. 772 00:55:49,500 --> 00:55:53,410 Hapa sisi kuweka chupa ishara kabla ya jina kutofautiana. 773 00:55:53,410 --> 00:55:58,280 Hapa ni mtu mwingine. Kuweka alama swali huko. 774 00:55:58,280 --> 00:56:03,170 Hiyo ni thamani ya akili. Hiyo inaonyesha kwamba variable lipo. 775 00:56:03,170 --> 00:56:05,160 Ni njia nyingine ya kufanya kazi na vigezo. 776 00:56:05,160 --> 00:56:06,660 Kwamba, kwa njia, hana kuwa safu kutofautiana. 777 00:56:06,660 --> 00:56:08,210 Hiyo inaweza kuwa kutofautiana yoyote. 778 00:56:08,210 --> 00:56:11,840 Na kama mimi, hakuna kutofautiana kama na mimi kupata 0. 779 00:56:11,840 --> 00:56:14,990 Jambo jingine kidogo hapo kuhusu tathmini kutofautiana. 780 00:56:23,670 --> 00:56:32,950 Nyuma na hii hapa, kama kwa sababu baadhi alitaka kufanya kazi na hii 781 00:56:32,950 --> 00:56:37,990 badala ya kufanya kazi na safu, variable shell, 782 00:56:37,990 --> 00:56:41,470 kuna amri ambayo inaweza tofauti mambo haya ya msingi juu ya koloni. 783 00:56:41,470 --> 00:56:44,080 Kwa kweli, kama wewe ni kwenda kwa kuwa kufanya hivyo katika Bash shell pengine, 784 00:56:44,080 --> 00:56:47,110 baadhi ya aina ya script, ambayo itakuwa pengine jinsi gani kufanya hivyo. 785 00:56:47,110 --> 00:56:50,350 Lakini katika C-shell ni rahisi kutumia safu. 786 00:56:50,350 --> 00:56:58,250 Katika Bourne shell, vigezo ni kupewa na kujieleza moja kama hii, 787 00:56:58,250 --> 00:57:01,760 kama njia unaweza hawawajui variable katika lugha ya programu, 788 00:57:01,760 --> 00:57:05,110 na hapa lazima kuna kuwa hakuna nafasi. 789 00:57:05,110 --> 00:57:09,110 Ni muhimu kwamba kuwa string 1 tu. 790 00:57:09,110 --> 00:57:14,980 Katika shells Bourne-aina, vigezo vyote ni vigezo shell. 791 00:57:14,980 --> 00:57:19,250 Mazingira vigezo ni subset ya vigezo shell. 792 00:57:19,250 --> 00:57:24,060 Wao wanajulikana kutoka mashirika yasiyo ya mazingira vigezo na nje ya nchi. 793 00:57:24,060 --> 00:57:28,860 amri ya kufanya hivyo ni kuuza nje, kama mauzo ya nje PRINTER. 794 00:57:28,860 --> 00:57:34,930 Kama tulikuwa na kufafanua kama variable, 795 00:57:34,930 --> 00:57:38,480 kama sisi alitaka amri kuchapa kupata hiyo, ingekuwa kuwa tofauti mazingira, 796 00:57:38,480 --> 00:57:40,730 na kwamba ni jinsi gani sisi kufanya hivyo ni moja. 797 00:57:40,730 --> 00:57:42,090 Hapa kuna kitu aina ya utata. 798 00:57:42,090 --> 00:57:50,430 Msemo huu, nje ya mazingira, hupata kutoka Bourne shell dhana hii, 799 00:57:50,430 --> 00:57:54,520 na bado kwamba kujieleza ni kutumika katika maelezo ya C-shell, 800 00:57:54,520 --> 00:57:57,920 ambapo hakuna amri kama vile nje ya nchi. 801 00:57:57,920 --> 00:58:06,200 Kama wewe tu kusema kuuza nje kwa wenyewe, unaweza kupata orodha ya kuuza nje - 802 00:58:06,200 --> 00:58:10,620 Basi, ikiwa mimi tu kufanya mauzo ya nje hapa, hakuna kitu kama hicho. 803 00:58:13,620 --> 00:58:15,200 Sawa, kuna sisi kwenda. 804 00:58:15,200 --> 00:58:17,010 Mambo haya, kwa njia, pia inavyoelezwa na shell. 805 00:58:17,010 --> 00:58:19,400 Mimi haikufafanua yoyote ya hizi kwa mwenyewe. 806 00:58:19,400 --> 00:58:23,550 shell gani kila aina ya mambo kwa yenyewe. 807 00:58:23,550 --> 00:58:26,650 Ni lazima kufanya mambo moja kwa moja. 808 00:58:30,240 --> 00:58:36,880 Katika Bash au Korn shell, unaweza kukimbia amri kama hii, 809 00:58:36,880 --> 00:58:42,000 ambayo wote kutoa variable thamani na kuuza nje katika 1 amri. 810 00:58:42,000 --> 00:58:46,150 Katika shell Bourne wao kuwa amri tofauti kama mauzo ya nje a. 811 00:58:46,150 --> 00:58:48,410 Hapa ni lingine kwamba utata. 812 00:58:48,410 --> 00:58:52,220 seti amri katika C-shell amefafanua vigezo 813 00:58:52,220 --> 00:58:55,550 na hakuna hoja atakwambia nini maadili vigezo 'ni. 814 00:58:55,550 --> 00:59:01,140 Katika Bash shell, kuweka amri na hakuna hoja haina kitu kimoja, 815 00:59:01,140 --> 00:59:03,580 lakini kwa hoja yake haina kitu tofauti kabisa. 816 00:59:03,580 --> 00:59:06,200 Basi hizi ni hoja mbalimbali hapa. 817 00:59:06,200 --> 00:59:10,460 Baadhi ya hizi ni vigezo mazingira, baadhi yao ni vigezo shell. 818 00:59:10,460 --> 00:59:13,200 Wote ni vigezo shell kweli. Baadhi ya watu ni vigezo mazingira. 819 00:59:15,690 --> 00:59:23,920 kuweka amri kwa hoja inaweza kutumika kwa kazi 820 00:59:23,920 --> 00:59:28,220 juu ya vigezo nafasi hii kwa script, 821 00:59:28,220 --> 00:59:33,910 ambayo ni njia ya kupata yao yote kwa mara moja. 822 00:59:33,910 --> 00:59:36,150 Hatuwezi kweli kwenda katika kwamba leo. 823 00:59:36,150 --> 00:59:39,580 Ni pia inaweza kutumika na mabadiliko ya tabia shell. 824 00:59:39,580 --> 00:59:46,700 Hasa katika Bash kuna vigezo ambayo itaonyesha jinsi gani shell kutenda. 825 00:59:46,700 --> 00:59:51,310 Kisha pia tu hii amri moja kwamba unaweza kuona, amri hii. 826 00:59:51,310 --> 00:59:59,050 Kutayarisha chapa na kufuatiwa na vigezo na aina variable ni kutumika katika Korn na Bash shells. 827 00:59:59,050 --> 01:00:04,970 Siyo lazima lakini inaweza kutumika kuzuia maadili ya vigezo, 828 01:00:04,970 --> 01:00:08,400 ambayo inaweza kuwa na manufaa kwa kuzuia makosa, na ni haki ya kawaida. 829 01:00:08,400 --> 01:00:11,640 Hivyo mimi nina kutaja tu kwamba katika kesi unaweza kuona ni mahali fulani. 830 01:00:17,290 --> 01:00:19,160 ambapo amri. 831 01:00:19,160 --> 01:00:22,490 Kumbuka nilivyosema hapo awali ambapo amri katika C-shell, 832 01:00:22,490 --> 01:00:28,750 ambayo inaweza kuwaambia eneo la amri pathname. 833 01:00:28,750 --> 01:00:32,580 Hapa ni amri badala. 834 01:00:32,580 --> 01:00:41,900 Unapaswa kupata juu ya keyboard yako mahali tabia ambayo inaonekana kama hii. 835 01:00:41,900 --> 01:00:44,910 eneo juu ya keyboard ni kwenda kutofautiana. 836 01:00:44,910 --> 01:00:47,050 Tumekuwa kuitwa kuwa ni backquote. Ni juu ya ukubwa wa kunukuu. 837 01:00:47,050 --> 01:00:48,720 Unaendelea kutoka upande wa kushoto juu ya kupunguza haki. 838 01:00:48,720 --> 01:00:52,690 Hapa juu ya Mac keyboard wangu ni katika sehemu ya juu upande wa kushoto kona. 839 01:00:52,690 --> 01:00:58,150 Tabia ya ambayo inaweza kutumika kutekeleza amri ndani ya amri. 840 01:00:58,150 --> 01:01:03,400 Kama una kujieleza ndani ya backquotes, 841 01:01:03,400 --> 01:01:07,080 kwamba kujieleza ni amri, ni kukimbia. 842 01:01:07,080 --> 01:01:09,010 pato la amri hiyo 843 01:01:09,010 --> 01:01:11,980 basi ni badala ya zima backquote kujieleza 844 01:01:11,980 --> 01:01:16,110 ndani ya amri tena ambayo kisha anaendesha kwa pato kwamba 845 01:01:16,110 --> 01:01:22,010 kama sehemu ya kamba yake ya hoja na kadhalika. 846 01:01:22,010 --> 01:01:28,640 Hapa ni amri ambayo inatumia hiyo. 847 01:01:28,640 --> 01:01:32,340 Hebu kuonyesha kazi hapa. 848 01:01:44,980 --> 01:01:49,090 Hebu kwenda juu hapa, kuchukua backquotes. 849 01:01:49,090 --> 01:01:54,410 Kudhibiti A anapata mimi kwa mwanzo wa mstari kwa Emacs editing syntax. 850 01:01:54,410 --> 01:02:00,380 Hadi sasa pathnames ni nini wapi, 851 01:02:00,380 --> 01:02:05,040 lakini wakati mimi kufanya hivyo kama hii, basi plugs katika orodha ya pathnames 852 01:02:05,040 --> 01:02:08,750 katika nafasi ya backquote hii yote kujieleza na anaendesha ls-l juu yao. 853 01:02:08,750 --> 01:02:11,120 Aina ya urahisi, huh? 854 01:02:11,120 --> 01:02:14,860 Ili jambo moja nadhifu. Hiyo ni jinsi backquotes kazi. 855 01:02:14,860 --> 01:02:17,560 Sasa hebu kwenda chini kidogo zaidi. 856 01:02:17,560 --> 01:02:22,050 Hizi ni Majina bandia. Mimi kwa kweli kutumia haya. 857 01:02:22,050 --> 01:02:26,410 Nitajaribu kupata katika huu na 1 editing kazi. 858 01:02:34,900 --> 01:02:36,900 Sawa. 859 01:02:36,900 --> 01:02:39,630 Sasa hebu angalia jinsi ufafanuzi wale akatoka. 860 01:02:39,630 --> 01:02:44,930 alias lwh akiniambia jinsi gani huo. 861 01:02:44,930 --> 01:02:51,210 Taarifa ni huu tu, lakini quotes nje zimechukuliwa mbali 862 01:02:51,210 --> 01:02:53,750 na Moderators kumweka ni kuchukuliwa mbali. 863 01:02:53,750 --> 01:02:58,940 ! *, Orodha kamili ya hoja zote. 864 01:02:58,940 --> 01:03:03,580 Katika alias ufafanuzi itakuwa kuomba nyuma ambapo mimi kutumia hii. 865 01:03:03,580 --> 01:03:10,620 lwh ksh bash. Sawa. 866 01:03:10,620 --> 01:03:13,960 Kuona jinsi kazi? Ni anaokoa mimi baadhi ya kuandika. 867 01:03:13,960 --> 01:03:16,440 Hebu kwenda juu kidogo tu kutaja kitu kingine hapa. 868 01:03:19,150 --> 01:03:23,120 Taarifa hapa shells hizi tofauti. Mimi lazima zilizotajwa hii kabla ya. 869 01:03:23,120 --> 01:03:36,060 CSH ina 2 juu ya hapa na hivyo haina / bin / tcsh. 870 01:03:36,060 --> 01:03:39,870 Tunaweza kuanzisha kwa njia nyingine kwamba wale ni kweli faili moja. 871 01:03:39,870 --> 01:03:43,150 Kumbuka mimi alikuwa akisema kama aina sh kupata bash. 872 01:03:43,150 --> 01:03:47,390 Aina hii na wewe kupata hii. 873 01:03:47,390 --> 01:03:51,730 Lakini wale si zinazoungwa. Wale na ndio moja huko. 874 01:03:51,730 --> 01:03:54,910 Na hii si aina ya faili ambayo wanaweza kupiga mtu mwingine. 875 01:03:54,910 --> 01:03:59,460 Basi hizo files tofauti, wale C-shell ni faili moja. 876 01:03:59,460 --> 01:04:03,640 Nyuma hapa chini, mtu mwingine hapa, pak hii, 877 01:04:03,640 --> 01:04:09,090 kumbuka kuwa mbio amri hii, file. 878 01:04:09,090 --> 01:04:13,810 Alias ​​kwamba anaendesha hiyo. Picha atakwambia aina ya faili. 879 01:04:13,810 --> 01:04:20,330 Hivyo fwh ksh bash. Sawa. 880 01:04:20,330 --> 01:04:23,230 Hiyo ni matokeo ya amri file. 881 01:04:23,230 --> 01:04:24,630 Sijui kama unajua nini maana ya hii hapa, 882 01:04:24,630 --> 01:04:26,750 Mach-O wote binary na 2 architectures. 883 01:04:26,750 --> 01:04:30,470 Kuna 2 iwezekanavyo aina processor katika Mac, 884 01:04:30,470 --> 01:04:34,780 na baadhi ya mipango ya yaliandikwa kuwa na uwezo wa kukimbia na wote wawili, 885 01:04:34,780 --> 01:04:37,950 na amri faili inaweza kuamua kwamba, hivyo kwamba ni nini maana ya hii. 886 01:04:37,950 --> 01:04:40,660 Wote files hayo yalikuwa yameandikwa kwa njia hiyo. 887 01:04:40,660 --> 01:04:43,760 Hivyo tunaona jinsi alias kazi, tunaona jinsi backquote kazi, 888 01:04:43,760 --> 01:04:48,640 tunaona jinsi ls halisi file au faili kazi. 889 01:04:52,050 --> 01:04:57,000 Hii inaweza si kazi. Jaribu "ambapo ambapo" na "lwh ambapo". Okay, hebu jaribu hiyo. 890 01:04:57,000 --> 01:05:01,040 ambapo ambapo. 891 01:05:01,040 --> 01:05:03,500 ambapo ni shell kujengwa katika. 892 01:05:03,500 --> 01:05:06,970 Kumbuka mapema sisi ilionyesha kuwa Bash hawakuwa na wapi. 893 01:05:06,970 --> 01:05:10,080 Kama aina ambapo katika Bash shell, unaweza kupata ujumbe wa kosa. 894 01:05:10,080 --> 01:05:12,540 Ni sehemu tu ya shell badala ya kuwa amri tofauti. 895 01:05:12,540 --> 01:05:20,000 Nini kinatokea kama mimi aina lwh kuangalia kwa wapi? Kuona nini kinatokea huko. 896 01:05:20,000 --> 01:05:22,850 Mbio ambapo ambapo, got pato huu, na kisha alijaribu kukimbia ls 897 01:05:22,850 --> 01:05:25,600 kama l juu ya mahali ambapo ni shell kujengwa katika. 898 01:05:25,600 --> 01:05:28,790 ambapo ni pale, lakini wale wengine hazipo. 899 01:05:28,790 --> 01:05:32,090 Hakuna hizi zipo, kwa kweli. 900 01:05:32,090 --> 01:05:35,560 Ili haifanyi kazi, na pia unaeleza jinsi gani baadhi ya mambo 901 01:05:35,560 --> 01:05:39,580 si kufanya kabisa nini unaweza kuwa na mawazo. 902 01:05:40,930 --> 01:05:43,010 Hebu kwenda chini kidogo zaidi hapa. 903 01:05:44,890 --> 01:05:54,760 Hii hapa ni katika Bash. Hiyo pia ni amri badala kama backquote. 904 01:05:54,760 --> 01:06:05,280 Lakini tofauti na backquote, inatumia mtindo huu kutofautiana. 905 01:06:05,280 --> 01:06:09,860 Kuna idadi ya maneno ambayo kuanza kwa ishara ya dola, 906 01:06:09,860 --> 01:06:16,070 na wakati haya ni si vigezo, wakataka matumizi ya ishara ya dola 907 01:06:16,070 --> 01:06:19,570 zinaonyesha usemi wa aina fulani. 908 01:06:19,570 --> 01:06:23,550 Ambayo inaweza kuwa na kuzungukwa na mabano au mabano au mabano mara mbili, 909 01:06:23,550 --> 01:06:26,320 ambayo ina lengo tofauti. 910 01:06:26,320 --> 01:06:29,500 Mabano Single hapa ni amri badala tu kama backquotes. 911 01:06:29,500 --> 01:06:32,720 Double mabano ni kweli kazi hesabu. 912 01:06:32,720 --> 01:06:35,380 Kuna syntaxes mengine, shughuli nyingine. 913 01:06:35,380 --> 01:06:41,520 Backquote syntax inapatikana katika Bash. 914 01:06:41,520 --> 01:06:46,780 Hata hivyo, hii moja ni vyema. Ni rahisi kusoma na inaruhusu nesting. 915 01:06:46,780 --> 01:06:51,300 Unaweza kuwa na ndani ya (amri) $ amri nyingine, 916 01:06:51,300 --> 01:06:54,590 kitu kama - 917 01:07:14,560 --> 01:07:18,210 Mimi kupata orodha huko. 918 01:07:18,210 --> 01:07:21,670 Hiyo kazi kama nilikuwa backquote pia. 919 01:07:32,050 --> 01:07:38,470 Nini kama mimi wanataka kufanya kitu kama - 920 01:08:03,390 --> 01:08:06,430 Pengine itakuwa si kweli kutumia amri hii, 921 01:08:06,430 --> 01:08:14,160 lakini hii ndani amri badala iliyopewa kichwa majina ya mafaili yote ya mwanzo na, 922 01:08:14,160 --> 01:08:18,229 basi hii moja anaendesha ls-l juu ya files hizo, 923 01:08:18,229 --> 01:08:20,500 na kisha hii moja tu iliyopewa kichwa pato. 924 01:08:21,729 --> 01:08:24,479 Wewe pengine bila kufanya hivyo; utaweza tu kufanya echo au ls, 925 01:08:24,479 --> 01:08:29,450 lakini hii inaonyesha jinsi nesting ya amri kazi. 926 01:08:29,450 --> 01:08:34,380 Hivyo tu mwingine kipengele hapa. 927 01:08:34,380 --> 01:08:37,450  Nilivyoeleza hili mapema, kwamba wakati una ambapo katika C-shell, 928 01:08:37,450 --> 01:08:42,770 aina ya kazi katika shells Bourne aina kwa kuuweka amri. 929 01:08:48,939 --> 01:08:52,270 Kujengwa katika amri, kile tu alikuwa akisema huko. 930 01:08:52,270 --> 01:08:54,640 Amri ni sehemu ya shell, kama wapi. 931 01:08:54,640 --> 01:08:59,880 Wakati shell executes amri kama ls, ni locates hivyo kwa njia ya njia, 932 01:08:59,880 --> 01:09:03,029 anaona ni katika baadhi directory mahali fulani, 933 01:09:03,029 --> 01:09:05,800 inasema kwamba katika kumbukumbu, inajenga shell mpya, 934 01:09:05,800 --> 01:09:08,960 wasomaji ls amri au chochote ndani ya ganda 935 01:09:08,960 --> 01:09:11,450 ambapo mazingira vigezo tayari iko, 936 01:09:11,450 --> 01:09:14,000 na kisha uhamisho utekelezaji yake. 937 01:09:14,000 --> 01:09:18,319 Kujengwa katika amri kanuni kwa ajili ya amri hiyo, ni ndani ya ganda, 938 01:09:18,319 --> 01:09:21,460 hivyo shell tu kuanza utekelezaji wa sehemu ya maadili ya yake mwenyewe. 939 01:09:21,460 --> 01:09:24,569 ambapo ni amri hizo. Ni kweli anapata kasi. 940 01:09:24,569 --> 01:09:28,380 Haina kusoma chochote katika kumbukumbu; ni tayari katika kumbukumbu. 941 01:09:28,380 --> 01:09:32,460 Kujengwa katika amri daima kuchukua precedence juu ya amri kwa jina moja. 942 01:09:32,460 --> 01:09:36,050 Amri hiyo ni katika directories katika njia inaweza kuwa na jina moja, 943 01:09:36,050 --> 01:09:39,090 amri katika directories mbalimbali, faili katika directories mbalimbali. 944 01:09:39,090 --> 01:09:41,740 moja kwamba hutokea mapema katika njia ni moja utapata. 945 01:09:41,740 --> 01:09:43,770 Kama kuna kujengwa katika amri, daima kupata. 946 01:09:43,770 --> 01:09:47,890 Hakuna njia ya kuwapa precedence chini ya amri katika njia. 947 01:09:47,890 --> 01:09:54,140 Kama unataka kupata kwamba amri njia, unaweza aina pathname full. 948 01:09:54,140 --> 01:09:55,850 Kama kulikuwa na amri ambapo katika njia mahali fulani, 949 01:09:55,850 --> 01:09:58,440 unaweza aina / bin / ambapo na wewe Ningependa kupata hiyo. 950 01:09:58,440 --> 01:10:01,800 Kama hawataki aina pathname zima, unaweza kufafanua pak. 951 01:10:01,800 --> 01:10:06,310 Kwa kweli, kama wewe alitoa alias jina moja kama kujengwa katika amri, ingekuwa kazi 952 01:10:06,310 --> 01:10:08,790 kwa sababu alias ufafanuzi ni tathmini 953 01:10:08,790 --> 01:10:13,220 kabla ya shell inaonyesha kuwa ni kujengwa katika amri ambayo inapaswa kutekelezwa. 954 01:10:18,810 --> 01:10:23,440 Kisha hii anapata ngumu zaidi kidogo kwa baadhi ya amri hapa. 955 01:10:23,440 --> 01:10:29,880 kesi ya baadhi ya amri ni kweli kujengwa katika amri na katika njia. 956 01:10:29,880 --> 01:10:34,140 Mmoja wao ni echo, amri mimi tu kutumika kwa muda kidogo iliyopita katika mifano hiyo. 957 01:10:34,140 --> 01:10:37,410 Echo ni amri katika njia na ni katika kila shell. 958 01:10:37,410 --> 01:10:40,580 Hawana lazima wote kuishi kwa njia hiyo. 959 01:10:40,580 --> 01:10:42,970 Ni awali ilikuwa amri tu katika njia. 960 01:10:42,970 --> 01:10:45,280 Ilikuwa kujengwa katika shells baadaye. 961 01:10:45,280 --> 01:10:48,080 Kwa sababu kuna njia ambayo wanategemea mazingira ya 962 01:10:48,080 --> 01:10:52,970 na amri line chaguzi, kujengwa katika amri 963 01:10:52,970 --> 01:10:57,030 ziliandikwa kwa kazi hiyo kama amri kwamba alikuwa katika njia, 964 01:10:57,030 --> 01:10:59,670 ni uwezekano wangeweza imeandikwa kwa njia hiyo 965 01:10:59,670 --> 01:11:01,720 kama amri alikuwa tayari kuandikwa kwa njia. 966 01:11:01,720 --> 01:11:06,180 Hivyo hii ina madhara. Historia yake ina athari hapa. 967 01:11:06,180 --> 01:11:08,380 Kuna chaguzi huko. 968 01:11:14,280 --> 01:11:23,060 Kuna pia ni chaguo inavyoelezwa na kutofautiana katika tcsh aitwaye echo_style. 969 01:11:23,060 --> 01:11:27,700 Hiyo ni moja ya vigezo hivi kwamba anaweza kubadilisha njia ambayo echo kazi. 970 01:11:27,700 --> 01:11:30,910 Kuna kesi nyingine ambayo unaweza kuwapa variable 971 01:11:30,910 --> 01:11:36,290 kuwa mabadiliko njia kwamba operesheni shell, ikiwa ni pamoja na kujengwa katika amri, kazi. 972 01:11:36,290 --> 01:11:38,130 Ni bila kuathiri kitu kingine chochote 973 01:11:38,130 --> 01:11:40,640 tangu amri nyingine hawana kwa vigezo shell, 974 01:11:40,640 --> 01:11:42,090 tu mazingira vigezo. 975 01:11:42,090 --> 01:11:45,360 Lakini shughuli shell unaweza kusoma vigezo shell. 976 01:11:45,360 --> 01:11:50,710 Hiyo si kazi kwa CSH. Hiyo ni tcsh tu. Hiyo ni moja ya nyongeza. 977 01:11:58,540 --> 01:12:04,620 Parsing ina Utaratibu wakati kutathmini metacharacters, 978 01:12:04,620 --> 01:12:08,140 wakati kutathmini vigezo, Majina bandia, kumbukumbu historia. 979 01:12:08,140 --> 01:12:11,830 Kuna mlolongo maalum kwa ajili ya mambo haya. 980 01:12:11,830 --> 01:12:13,730 Kama ni hivyo mambo katika mlolongo hasa 981 01:12:13,730 --> 01:12:16,080 na anapata kitu ambacho ni usemi wa aina 982 01:12:16,080 --> 01:12:20,650 ambayo tayari tathmini, itakuwa si kutathmini tena. 983 01:12:20,650 --> 01:12:24,520 Kama anapata yake, basi itakuwa kupita tu juu ya wahusika. 984 01:12:24,520 --> 01:12:29,920 Hivyo kama tathmini ya baadhi maneno kama amri badala 985 01:12:29,920 --> 01:12:36,850 au kutofautiana au chochote inatoa kupanda kwa kujieleza 986 01:12:36,850 --> 01:12:39,240 ambayo ungependa wanataka kuwa tathmini, 987 01:12:39,240 --> 01:12:42,510 ambayo kazi tu iwapo tathmini ya kwamba hutokea baadaye katika mlolongo. 988 01:12:42,510 --> 01:12:45,010 Natumaini mimi nina kuwa wazi kuwa hakuna. 989 01:12:45,010 --> 01:12:50,460 Hiyo parsing mlolongo, operesheni katika C-shell, 990 01:12:50,460 --> 01:12:56,490 si sawa kwa kujengwa katika amri kama ni kwa ajili ya mashirika yasiyo ya kujengwa katika amri. 991 01:12:56,490 --> 01:12:58,890 Mimi nina uhakika juu ya Bash huko. 992 01:12:58,890 --> 01:13:02,450 Kwa mfano, kama variable shell zinazozalishwa historia ya kumbukumbu, 993 01:13:02,450 --> 01:13:04,230 pengine hakutaka kurudi katika historia. 994 01:13:04,230 --> 01:13:06,010 Itakuwa tu kupata mshangao uhakika. 995 01:13:06,010 --> 01:13:08,840 Kwa kweli, tunaweza tu kujaribu kuwa nje hivi sasa. 996 01:13:09,720 --> 01:13:18,240 kuweka = na sisi itabidi kuweka hii huko. 997 01:13:30,690 --> 01:13:34,580 Oh, kusubiri. Sorry. Nilifanya hivyo katika Bash. Nilitaka kufanya hivyo hapa. 998 01:13:53,470 --> 01:13:56,080 Angalia, hivyo hakuwa na kutathmini historia kumbukumbu 999 01:13:56,080 --> 01:14:00,520 kwa sababu ilikuwa tayari siku za nyuma hatua ya kutathmini historia ya maneno 1000 01:14:00,520 --> 01:14:02,720 wakati tathmini kutofautiana. 1001 01:14:02,720 --> 01:14:05,550 Hivyo kwamba ni 1 athari za parsing. 1002 01:14:05,550 --> 01:14:08,760 Na tena, kujengwa katika amri si kufanyika kwa njia hiyo. 1003 01:14:08,760 --> 01:14:11,230 Sawa. Hebu kwenda moja ijayo hapa. 1004 01:14:11,230 --> 01:14:16,060 Hii ni nia ya kuwa na 1 line, lakini ni kuifanya rahisi kusoma. 1005 01:14:19,130 --> 01:14:21,530 Je, hiyo nini? 1006 01:14:21,530 --> 01:14:28,640 Unaweza kukumbuka kwamba tunaweza kutathmini Stars kama jina la faili wildcards, 1007 01:14:28,640 --> 01:14:33,890 na kuna wildcards nyingine jina la faili kama alama ya swali na bracket maneno. 1008 01:14:33,890 --> 01:14:39,000 Kwamba aina ya tathmini inaitwa globbing. 1009 01:14:39,000 --> 01:14:46,290 kuweka noglob mwanzoni mwa amri hii anasema si kufanya hivyo. 1010 01:14:46,290 --> 01:14:53,370 unset noglob anasema kwenda nyuma ya kufanya hivyo. 1011 01:14:53,370 --> 01:14:56,440 Kumbuka kwamba kuweka glob bila kuwa na athari hiyo. 1012 01:14:56,440 --> 01:15:00,800 Kwa lugha ya kawaida, kuweka glob au unset noglob inaweza kuonekana kuwa sawa, 1013 01:15:00,800 --> 01:15:03,290 lakini hapa si. Ni unset noglob. 1014 01:15:05,120 --> 01:15:07,910 Sasa tset. tset kusimama kwa ajili ya terminal kuweka. 1015 01:15:07,910 --> 01:15:11,840 Ni si kutumika kwamba mara nyingi sasa, lakini kabla ya mifumo ya windowing akawa inapatikana 1016 01:15:11,840 --> 01:15:15,760 na alikuwa terminal moja, unaweza kuwa na kuamua aina. 1017 01:15:15,760 --> 01:15:18,700 Na kama kitu alikuwa anakuja juu ya Ethernet au kutoka mtandao, 1018 01:15:18,700 --> 01:15:21,120 unaweza kutaka kusema ni vt100. 1019 01:15:21,120 --> 01:15:26,630 VT100 ni aina ya kiwango katika biashara ya wastaafu. Ni linatokana na terminal Desemba. 1020 01:15:26,630 --> 01:15:35,270 Kama wewe tu kufanya dialup - taarifa kwamba? Hii inakwenda nyuma njia, huh? 1021 01:15:35,270 --> 01:15:39,520 Hivyo kama sisi tu wala tset zaidi ya hapa, 1022 01:15:39,520 --> 01:15:45,250 kama mimi tu kufanya tset, ni upya terminal yangu, lakini hakuwa na kuona chochote. 1023 01:15:45,250 --> 01:15:47,340 Haikuwa mabadiliko ya kweli kitu chochote. 1024 01:15:47,340 --> 01:15:48,620 -S 1025 01:15:49,900 --> 01:15:51,480 Sawa. 1026 01:15:51,480 --> 01:15:53,350 setenv MREFU xterm-rangi. 1027 01:15:53,350 --> 01:15:57,080 Sisi tunajua kwamba neno ilianzishwa kwa njia hiyo, hivyo kwamba hakuwa na kubadilika. 1028 01:15:57,080 --> 01:15:58,860 Hiyo ndiyo njia tunatarajia wanataka kufanya hivyo. 1029 01:15:58,860 --> 01:16:07,080 Lakini taarifa kwamba hii amri, tset-s, pato tu hizi amri. Haikuwa kukimbia nao. 1030 01:16:07,080 --> 01:16:09,770 Haikuwa kukimbia amri hizi, ni pato yao. 1031 01:16:09,770 --> 01:16:13,650 Hivyo hii ni lengo la kuzalisha amri ambayo kisha kukimbia. 1032 01:16:13,650 --> 01:16:16,360 Unakumbuka amri katika faili kwamba mimi ilionyesha tu alikuwa Q ndani yake. 1033 01:16:16,360 --> 01:16:18,910 Basi hebu kufanya hivyo. 1034 01:16:18,910 --> 01:16:23,750 Q suppresses baadhi ya pato, lakini hiyo haina jambo hapa, kama unaweza kuona. 1035 01:16:23,750 --> 01:16:27,980 Mimi nina kufanya tu kwamba kuonyesha kwamba hakuwa na jambo hilo. 1036 01:16:27,980 --> 01:16:31,870 Hii ni katika backquote syntax. 1037 01:16:31,870 --> 01:16:35,340 Kumbuka backquote hapa, backquote hapa. 1038 01:16:35,340 --> 01:16:37,680 Mimi nina omitting mambo haya hapa. 1039 01:16:37,680 --> 01:16:39,570 Hizi ni matukio ya kuwaambia ni nini cha kufanya 1040 01:16:39,570 --> 01:16:42,050 katika kesi ya aina fulani ya vituo - 1041 01:16:42,050 --> 01:16:45,400 Ethernet, mtandao, dialup, una nini. 1042 01:16:45,400 --> 01:16:48,050 Haijalishi hapa kwa sababu sisi siyo kweli kufanya yoyote ya mambo haya. 1043 01:16:48,050 --> 01:16:49,720 Mimi nina kuonyesha tu amri. 1044 01:16:49,720 --> 01:16:55,170 Kama mimi kufanya hivyo kwa backquote, je, Mimi naenda kupata? 1045 01:16:55,170 --> 01:17:00,210 Pia taarifa hapa kwamba hii ni pamoja na kuweka noglob na noglob unset, 1046 01:17:00,210 --> 01:17:02,630 hivyo wale sasa ni kutokuwa katika ufafanuzi. 1047 01:17:02,630 --> 01:17:05,380 Hiyo ilikuwa si kweli daima, lakini sasa wao ni pamoja na katika amri hii. 1048 01:17:05,380 --> 01:17:08,890 Lakini hebu angalia nini kinatokea kama mimi kufanya hivyo 1049 01:17:08,890 --> 01:17:12,570 na kwenda mwanzo wa mstari na Kudhibiti A na mimi kufanya hivyo. 1050 01:17:14,380 --> 01:17:18,040 Sawa, kuweka: amri haikupatikana. Hiyo aina ya isiyo ya kawaida, si hivyo? 1051 01:17:18,040 --> 01:17:20,570 kuweka ni amri maalumu. Ni sehemu ya shell. 1052 01:17:20,570 --> 01:17:24,040 kuweka: amri si kupatikana? Kwa nini ni kwamba? 1053 01:17:24,040 --> 01:17:26,790 Hmm. Naam, hebu fikiria kuhusu hili. 1054 01:17:26,790 --> 01:17:31,100 Ni mbio backquote amri badala, 1055 01:17:31,100 --> 01:17:37,430 na kwamba hutokea katika sehemu fulani ya mlolongo wa parsing amri. 1056 01:17:37,430 --> 01:17:40,360 kuweka ni kujengwa katika amri. 1057 01:17:40,360 --> 01:17:43,900 Hivyo kwa muda gani kwamba amri badala, 1058 01:17:43,900 --> 01:17:48,280 ni tayari wamezipata zamani hatua ya kutambua kujengwa katika amri. 1059 01:17:48,280 --> 01:17:51,900 Hivyo inayotibu kuweka kama ni amri katika njia. 1060 01:17:51,900 --> 01:17:55,440 Bila kusema, haina kupata hiyo na kupata makosa. 1061 01:17:55,440 --> 01:17:59,300 Vizuri. Kuna mfano wa parsing mlolongo. 1062 01:17:59,300 --> 01:18:01,460 Na tunafanya nini kuhusu hilo? 1063 01:18:01,460 --> 01:18:04,800 Taarifa amri hii ya kuvutia sana hapa, UFUNDISHAJI. 1064 01:18:04,800 --> 01:18:06,530 Mimi ajabu nini kwamba hana. 1065 01:18:06,530 --> 01:18:08,760 Kama ukiangalia mwongozo - na hebu tu kufanya hivyo 1066 01:18:08,760 --> 01:18:12,000 kuonyesha jinsi utata miongozo hii ni - 1067 01:18:12,000 --> 01:18:19,400 mtu tcsh, kuchanganyikiwa mwongozo, kutafuta mambo hapa ni si rahisi aidha. 1068 01:18:19,400 --> 01:18:31,850 Hapa sisi kwenda, UFUNDISHAJI ARG, ili tuweze 1 au zaidi hoja 1069 01:18:31,850 --> 01:18:34,090 na kuna orodha ya mambo huko. 1070 01:18:34,090 --> 01:18:37,730 Chipsi hoja kama pembejeo kwa shell 1071 01:18:37,730 --> 01:18:43,600 na executes amri kusababisha mazingira ya shell sasa. 1072 01:18:43,600 --> 01:18:46,900 Hii ni kawaida kutumika kutekeleza amri yanayotokana kama matokeo ya amri 1073 01:18:46,900 --> 01:18:51,310 au kutofautiana badala kwa sababu parsing hutokea kabla ya mabadilisho haya. 1074 01:18:51,310 --> 01:18:52,580 Nzuri sana. 1075 01:18:52,580 --> 01:18:54,740 Na hapa hata kutaja amri tset kwa ajili ya matumizi ya sampuli 1076 01:18:54,740 --> 01:18:57,700 kama moja mimi tu ilionyesha wewe. 1077 01:18:57,700 --> 01:19:00,440 Sasa mimi kupata dirisha nyuma nafasi ya muhimu. 1078 01:19:03,150 --> 01:19:07,800 Hebu kupata juu ya hapa na tutaweza kuona kwamba UFUNDISHAJI hutumiwa tu kabla ya hapo. 1079 01:19:07,800 --> 01:19:14,010 Basi hebu angalia kile kinachotokea kama sisi kuweka - hapa Tunakwenda kwa mishale ya amri hiyo 1080 01:19:14,010 --> 01:19:20,940 na Kudhibiti A mwanzo, UFUNDISHAJI. 1081 01:19:20,940 --> 01:19:22,850 Sawa, hivyo ni kazi. 1082 01:19:22,850 --> 01:19:26,440 Wakati wa kufanya UFUNDISHAJI, inachukua kile unakuja baada yake na inafanya amri. 1083 01:19:26,440 --> 01:19:29,460 Hii itawezesha wewe kimsingi Hazrat ni mara mbili. 1084 01:19:29,460 --> 01:19:33,710 sehemu hapa anaendesha amri hii ndani ya backquotes, 1085 01:19:33,710 --> 01:19:36,210 anapata pato. 1086 01:19:36,210 --> 01:19:42,850 Pato zinatakiwa kuwa na kukimbia kama amri hizo hapa kama hizi 1087 01:19:42,850 --> 01:19:45,890 hii moja na hii moja. 1088 01:19:45,890 --> 01:19:50,100 Hivyo amri hizo ni sasa hapa katika mlolongo huu, 1089 01:19:50,100 --> 01:19:58,950 lakini haya ni kujengwa katika amri na haiwezi kupata haki yao mbali. 1090 01:19:58,950 --> 01:20:06,440 Kwa hiyo sisi kwenda UFUNDISHAJI, UFUNDISHAJI tar kuwa juu, kuanza jambo zima tena, na kazi. 1091 01:20:06,440 --> 01:20:18,460 mfano wote backquoting, UFUNDISHAJI, parsing, matokeo ya parsing, 1092 01:20:18,460 --> 01:20:21,910 na amri ambayo pengine ni ya matumizi kidogo sana na wewe siku hizi. 1093 01:20:21,910 --> 01:20:25,540 Sawa. Haki ya wote, umask. 1094 01:20:25,540 --> 01:20:32,160 Hebu tuangalie amri hii hapa, umask 022. Mimi ajabu nini kwamba hana. 1095 01:20:32,160 --> 01:20:38,420 Hebu tu aina umask na kitu baada ya yake. 22. Sawa. 1096 01:20:38,420 --> 01:20:44,350 022 na kufanya hivyo tena. 1097 01:20:44,350 --> 01:20:48,580 Kama unaweza kuwa guessed, umask na hakuna hoja atakwambia mask sasa; 1098 01:20:48,580 --> 01:20:51,760 umask kwa hoja inafanya, lakini kwamba alikuwa mmoja mimi tayari. 1099 01:20:51,760 --> 01:20:53,800 Gani 022 maana yake nini? 1100 01:21:01,650 --> 01:21:07,080 Hizi ni hapa ulinzi kwa ajili ya faili. 1101 01:21:07,080 --> 01:21:11,440 Wao kuamua nani anaruhusiwa kusoma na kuandika au kutekeleza file. 1102 01:21:11,440 --> 01:21:16,560 Ulinzi pia kuitwa ruhusa. 1103 01:21:16,560 --> 01:21:21,390 r anasimama kwa ajili ya kusoma, w kwa kuandika, 1104 01:21:21,390 --> 01:21:25,500 na x, ambayo si sasa kuna, anasimama kwa kutekeleza. 1105 01:21:25,500 --> 01:21:27,260 Kuna makundi 3 huko. 1106 01:21:27,260 --> 01:21:33,540 3 mambo mwisho ni katika jamii ya mtumiaji. Wale kuomba kwangu, user. 1107 01:21:33,540 --> 01:21:36,870 Hizi 3 hapa kuomba kikundi. 1108 01:21:36,870 --> 01:21:41,590 file ni mali ya 1 kundi, mtumiaji anaweza ni wa makundi kadhaa, 1109 01:21:41,590 --> 01:21:47,150 lakini kama mtumiaji ni katika kundi ambalo faili hili ni, 1110 01:21:47,150 --> 01:21:51,090 kisha ulinzi haya kuomba kwake kama yeye si user. 1111 01:21:51,090 --> 01:21:54,230 Na hii ni moja ya mtu mwingine. 1112 01:21:55,540 --> 01:21:57,690 Makundi hayo ni pande kipekee. 1113 01:21:57,690 --> 01:21:59,750 ulinzi user kuomba kwake, 1114 01:21:59,750 --> 01:22:03,780 kundi ulinzi kuomba kwa wajumbe wa kikundi chochote zaidi user, 1115 01:22:03,780 --> 01:22:08,110 na ulinzi nyingine kuomba tu kwa watu wengine kuliko wanachama wa kikundi user na. 1116 01:22:08,110 --> 01:22:12,320 Kama kuna r au aw au x, maana yake ni kwamba ulinzi ni nafasi. 1117 01:22:12,320 --> 01:22:13,950 Kama kuna hyphen, ina maana siyo. 1118 01:22:13,950 --> 01:22:16,690 Kuna kweli ni mambo mengine ambayo yanaweza kuwekwa katika hapa zaidi ya hizo, 1119 01:22:16,690 --> 01:22:18,350 ambayo mimi si kupata ndani ya sasa. 1120 01:22:18,350 --> 01:22:24,450 umask amefafanua default kwa files kwamba kujenga. 1121 01:22:24,450 --> 01:22:28,580 Na kama mask, kimsingi ni anasema bits kwamba huna kuweka. 1122 01:22:28,580 --> 01:22:30,450 Ni jinsi gani hii kuwa bits? 1123 01:22:30,450 --> 01:22:33,240 Kama unafikiri ya kila moja ya haya kama idadi octal, 1124 01:22:33,240 --> 01:22:42,120 hii ni 1s kidogo, hii ni 2S, hii ni 4s. 1125 01:22:42,120 --> 01:22:45,840 Hivyo 0 kupitia 7 1126 01:22:45,840 --> 01:22:51,770 kuelezea kile mchanganyiko wa r ya, w, na x ya kuwa kwa hizi 3 1127 01:22:51,770 --> 01:22:53,710 na kisha idadi sawa kwa ajili ya haya na kisha kwa ajili ya haya. 1128 01:22:53,710 --> 01:23:12,030 Hivyo 022 ina maana 0 kwa ajili ya wengine, 2 kwa kikundi, 2 kwa mtumiaji. 1129 01:23:12,030 --> 01:23:15,870 Lakini hii ni mask. mask ni nini hawana. 1130 01:23:19,380 --> 01:23:20,610 Mimi nina sorry. I just akakupeni ili sahihi. 1131 01:23:20,610 --> 01:23:25,620 Ni mara ya kwanza 3. Hizi 3 ni user, hizi 3 ni kundi, hizi 3 ni nyingine. 1132 01:23:25,620 --> 01:23:27,970 Sorry Mimi niliwapeni hizi ili sahihi. 1133 01:23:27,970 --> 01:23:31,910 0, ambayo ni ya kwanza ya hizo, haina kuonyesha thamani, 1134 01:23:31,910 --> 01:23:35,430 lakini kama idadi ni si huko, ni 0. 1135 01:23:35,430 --> 01:23:38,370 Hiyo ina maana wote 3 ya hizi itakuwa kuruhusiwa. 1136 01:23:38,370 --> 01:23:41,550 Taarifa kwamba katika moja fulani x hairuhusiwi. 1137 01:23:41,550 --> 01:23:44,090 Sababu ni kwamba shell ni uwezo wa kuamua 1138 01:23:44,090 --> 01:23:46,260 kama file lazima ifanyike au la. 1139 01:23:46,260 --> 01:23:49,800 Tangu hii si faili la kutekelezwa, haikuwa kuweka x. 1140 01:23:49,800 --> 01:23:54,000 2 ina maana kwamba kuandika ruhusa, jamii ya pili hapa, 1141 01:23:54,000 --> 01:23:56,500 moja katika katikati, inapokataliwa. 1142 01:23:56,500 --> 01:23:58,500 Hivyo tena, haya ni mambo ambayo alikanusha. 1143 01:23:58,500 --> 01:24:02,080 Naam, x anaruhusiwa lakini siyo hapa kwa sababu si kutekelezwa 1144 01:24:02,080 --> 01:24:04,260 na vile vile kwa watu wengine. 1145 01:24:04,260 --> 01:24:08,880 Hivyo kwamba ni umask kawaida. 1146 01:24:08,880 --> 01:24:14,630 Mtu mwingine kawaida ni 700 - kutoa mwenyewe kila kitu na hakuna mtu mwingine kitu chochote. 1147 01:24:14,630 --> 01:24:17,040 Na kuna uwezekano mwingine. 1148 01:24:21,340 --> 01:24:27,110 Nitakwenda nyuma na kwamba. Kwa kutumia historia ya mimi unaweza kutafuta nyuma kwa kuwa, lwh na pale. 1149 01:24:27,110 --> 01:24:30,210 Sawa. Hivyo hapa, hizi ni shells. 1150 01:24:30,210 --> 01:24:36,020 Bash, mmiliki ambaye ni akaunti mfumo, anaweza kufanya kila kitu. 1151 01:24:36,020 --> 01:24:41,210 Group na mtu mwingine anaweza kufanya kusoma au kutekeleza lakini si kuandika. 1152 01:24:41,210 --> 01:24:44,570 Moja hii haina hata kuruhusu mmiliki wa kuandika yake. 1153 01:24:44,570 --> 01:24:46,460 Kama mmiliki alitaka kuandika kwa hiyo, akaunti mfumo, 1154 01:24:46,460 --> 01:24:48,020 angeweza kuwa na mabadiliko ya ulinzi ya kwanza. 1155 01:24:48,020 --> 01:24:53,940 Lakini tena, umask seti default na Masking yake, 1156 01:24:53,940 --> 01:24:57,160 kwa kuonyesha bits kuwa ya kuweka. 1157 01:24:57,160 --> 01:25:04,380 Hii ni kawaida katika moja ya mafaili yako initialization, ambayo ni. Cshrc kwa C-ganda 1158 01:25:04,380 --> 01:25:07,500 au. profile kwa shells Bourne-aina. 1159 01:25:07,500 --> 01:25:12,520 Inaweza kuwa mahali pengine pia kama kuna faili nyingine initialization juu ya mfumo. 1160 01:25:12,520 --> 01:25:14,610 Hata hivyo, hiyo ni umask. 1161 01:25:14,610 --> 01:25:18,180 Kuna kitu aina ya isiyo ya kawaida hapa, 1162 01:25:18,180 --> 01:25:22,800 na kwamba ni, ni kwa nini kuna amri moja kwa hili? 1163 01:25:22,800 --> 01:25:28,690 Kama ningekuwa kuandika hii, napenda kufanya hivyo kutofautiana, umask = baadhi ya thamani. 1164 01:25:28,690 --> 01:25:31,100 Kwa nini kuna amri lote tu kwa ajili hiyo? 1165 01:25:31,100 --> 01:25:34,560 Sababu ni hii huenda tu nyuma kwenye asili ya Unix. 1166 01:25:34,560 --> 01:25:41,050 Unix mara baadhi tu ya mradi programu katika Bell Labs katika miaka ya 1970. 1167 01:25:41,050 --> 01:25:42,610 Watu tu got pamoja kwa mpango. 1168 01:25:42,610 --> 01:25:45,290 Wao kamwe lengo ni kuwa mfumo wa uendeshaji duniani kote. 1169 01:25:45,290 --> 01:25:47,250 Watu mbalimbali aliandika sehemu mbalimbali bila kufikiri sana 1170 01:25:47,250 --> 01:25:49,790 ya jinsi watakavyo kutumika - badala sketchy. 1171 01:25:49,790 --> 01:25:53,290 Na alikuja pamoja kama hayo, na bado ni kama kwamba katika baadhi ya mambo. 1172 01:25:53,290 --> 01:25:57,930 Ili huonyesha historia, na bado kuna kutokwenda haya na mambo isiyo ya kawaida yake. 1173 01:25:57,930 --> 01:26:00,750 Sawa. Ijayo moja hapa. 1174 01:26:08,170 --> 01:26:11,000 Kama nilivyoandika hapo awali, C-shell si kweli kutumika sana kwa ajili ya programu, 1175 01:26:11,000 --> 01:26:12,420 ingawa inaweza kuwa. 1176 01:26:12,420 --> 01:26:15,080 Executes polepole zaidi, tena biashara-off kati ya matumizi ya maingiliano, 1177 01:26:15,080 --> 01:26:17,820 ambayo ina usindikaji zaidi kushiriki zaidi kuliko kasi, 1178 01:26:17,820 --> 01:26:20,710 ambayo inaweza kufanya bila usindikaji. 1179 01:26:20,710 --> 01:26:28,320 sifa ya ziada aliongeza kwa shell Bourne na Korn na Bourne mara ya pili shells 1180 01:26:28,320 --> 01:26:32,120 hawaonekani kwa polepole yao chini, na mimi sijui ni kwa nini kwamba ni. 1181 01:26:32,120 --> 01:26:36,310 Inaweza tu kuwa programu bora, lakini nina si katika nafasi ya kujua. 1182 01:26:36,310 --> 01:26:40,420 Kasi hapa kwa kweli si mpango huo kubwa, ingawa ni tajwa. 1183 01:26:40,420 --> 01:26:43,690 Sababu ni kwamba scripts shell kweli kupata haki haraka. 1184 01:26:43,690 --> 01:26:46,450 Kama kuna mengi ya amri kama katika mpango calculational, 1185 01:26:46,450 --> 01:26:49,110 pengine bila kufanya hivyo katika script shell. 1186 01:26:49,110 --> 01:26:51,450 shughuli kuna haki rahisi na moja kwa moja. 1187 01:26:51,450 --> 01:26:53,960 wale ambao nimepata uzoefu kwamba ni polepole mno 1188 01:26:53,960 --> 01:26:57,110 kuhusisha maombi mara kwa mara ya amri polepole. 1189 01:26:57,110 --> 01:27:00,480 Mapema nilivyoeleza mhariri mkondo sed. Amri hiyo ni polepole. 1190 01:27:00,480 --> 01:27:03,760 Kama nitafanya sed mara nyingi, utapata script polepole, lakini siyo shell kwamba taratibu. 1191 01:27:03,760 --> 01:27:07,920 Mbio katika Bourne shell haitakuwa kwa kasi zaidi kuliko mbio katika C-shell, 1192 01:27:07,920 --> 01:27:10,070 ingawa kuna labda baadhi ya faida huko. 1193 01:27:10,070 --> 01:27:12,760 uwezo ziada programu, kwa upande mwingine, 1194 01:27:12,760 --> 01:27:17,920 ni sababu kubwa kwa nini ungependa kutumia shells Bourne-aina. 1195 01:27:17,920 --> 01:27:21,390 C-shell ina sifa isiyo ya kawaida yake - 1196 01:27:21,390 --> 01:27:25,250 ukweli kwamba sijui kama variable ni variable shell au kutofautiana mazingira. 1197 01:27:25,250 --> 01:27:27,440 Inaweza kuwa na utata sana. 1198 01:27:27,440 --> 01:27:32,170 Ni hivyo si rahisi kuandika 1199 01:27:32,170 --> 01:27:35,930 tu kwa kuzingatia uzoefu wako wa programu katika lugha nyingine. 1200 01:27:35,930 --> 01:27:41,350 Nadhani unaweza kupata shells Bourne aina zaidi sambamba na uzoefu wako. 1201 01:27:43,730 --> 01:27:49,270 Baadhi ya maandiko, ingawa, unaweza kuwa maelfu ya mistari katika urefu. 1202 01:27:49,270 --> 01:27:52,450 Wale ambao nimeona ni kutumika kwa ajili ya patching mifumo ya uendeshaji. 1203 01:27:52,450 --> 01:27:55,450 Wale unaweza nitafanya polepole sana, lakini si kukimbia wale mara nyingi sana. 1204 01:27:55,450 --> 01:27:57,180 Ni wakati tu unafanya patching, 1205 01:27:57,180 --> 01:27:59,450 na ni tu mfumo wa meneja ambaye anafanya mambo hayo, 1206 01:27:59,450 --> 01:28:01,840 hivyo si kweli mengi ya suala hilo. 1207 01:28:01,840 --> 01:28:06,980 Wale ambao ni mamia ya mistari ya muda mrefu kweli nitafanya haki haraka. 1208 01:28:06,980 --> 01:28:10,540 Kutaja hili hapa, ni nyongeza hizo? 1209 01:28:10,540 --> 01:28:13,170 Nimekuwa tayari kutajwa wachache wao - arrays, mahesabu, 1210 01:28:13,170 --> 01:28:20,540 () Kujieleza kwa mahesabu katika Bash shell $, 1211 01:28:20,540 --> 01:28:23,050 aina nyingine ya amri badala. 1212 01:28:23,050 --> 01:28:25,360 Kuna aina mbalimbali ya amri kupima 1213 01:28:25,360 --> 01:28:29,350 ambayo unaweza kufanya majaribio masharti juu ya kuwepo kwa faili au mambo mengine. 1214 01:28:29,350 --> 01:28:34,790 Mwisho hapa, amri hii hapa. 1215 01:28:34,790 --> 01:28:38,480 Je, hii kufanya, na kwa nini mtu yeyote kuitumia? 1216 01:28:51,170 --> 01:28:52,990 printenv variablename. 1217 01:28:52,990 --> 01:28:56,130 Sisi kujua nini printenv gani. Inatuambia thamani ya kutofautiana. 1218 01:28:56,130 --> 01:29:00,850 Na printenv variablename si kutuambia sana kwa sababu hakuna kutofautiana hayo. 1219 01:29:03,550 --> 01:29:05,120 Tupu. 1220 01:29:05,120 --> 01:29:08,440 Lakini hebu kuwapa kitu ya maana. 1221 01:29:13,420 --> 01:29:16,800 Hiyo si huko aidha. Sawa. Mimi nadhani kamwe hufafanuliwa kwamba. 1222 01:29:16,800 --> 01:29:18,020 Hebu kuangalia tu mazingira yangu. 1223 01:29:18,020 --> 01:29:20,900 Hii ni amri ya mwingine na ambayo unaweza kukagua mazingira yako. 1224 01:29:20,900 --> 01:29:24,470 Kuna umri nzuri EDITOR, moja tuliona kabla ya. 1225 01:29:42,360 --> 01:29:44,120 Je, hiyo nini? 1226 01:29:44,120 --> 01:29:48,050 Hapa tuna backquote kujieleza. 1227 01:29:48,050 --> 01:29:50,370 Kumbuka hii ni C-shell. 1228 01:29:50,370 --> 01:29:54,850 Hivyo printenv EDITOR kutupa thamani ya Mhariri. Ni vi. 1229 01:29:54,850 --> 01:29:59,790 Na kisha kuweka thamani kwamba variable a, seti amri. 1230 01:29:59,790 --> 01:30:02,860 Hivyo sasa kama mimi kufanya echo $ a, mimi kupata vi. 1231 01:30:02,860 --> 01:30:05,850 Kwamba haionekani sana muhimu. 1232 01:30:05,850 --> 01:30:08,080 Hata hivyo, kwa kweli anafanya na kusudi. 1233 01:30:08,080 --> 01:30:12,260 Tangu sisi sijui kama variable ni variable shell au kutofautiana mazingira 1234 01:30:12,260 --> 01:30:16,280 kwa kutumia ishara ya dola tathmini syntax, tunaweza kutumia printenv 1235 01:30:16,280 --> 01:30:19,460 kuhakikisha kwamba ni kutofautiana mazingira. 1236 01:30:19,460 --> 01:30:22,550 Hivyo kama kulikuwa na shell variable mhariri, hii itakuwa si waliopata yake. 1237 01:30:22,550 --> 01:30:25,640 Hii kazi tu na kutofautiana mazingira. 1238 01:30:25,640 --> 01:30:28,370 Kama kulikuwa na kutofautiana shell na nilitaka thamani yake, 1239 01:30:28,370 --> 01:30:29,980 Ningependa kuwa na kutafuta baadhi ya njia nyingine ya kufanya hivyo. 1240 01:30:29,980 --> 01:30:33,530 Moja ya njia ya kufanya hivyo itakuwa kwa kufanya kuweka na kusambaza. 1241 01:30:33,530 --> 01:30:36,130 Hii ni moja ya metacharacters, wahusika maalum. 1242 01:30:36,130 --> 01:30:38,370 Inapeleka pato la kuweka kitu kingine. 1243 01:30:38,370 --> 01:30:40,650 Hebu kuona nini sisi ili kupata huko. 1244 01:30:40,650 --> 01:30:49,340 Chochote. Sawa. Hebu tu kuona nini huko wote pamoja. 1245 01:30:49,340 --> 01:30:53,580 Ilikuwa ni echo_style, moja nilivyoeleza hapo awali. Sawa, hebu kufanya hivyo. 1246 01:31:02,460 --> 01:31:06,230 Kumbuka nilivyoeleza hapo awali, echo_style 1247 01:31:06,230 --> 01:31:08,410 huamua njia amri echo kukimbia. 1248 01:31:08,410 --> 01:31:10,940 BSD anasimama kwa Berkeley la usambazaji. 1249 01:31:10,940 --> 01:31:13,200 Hii ni Berkeley Unix miaka ya 1970. 1250 01:31:13,200 --> 01:31:16,630 Hiyo ni moja ya njia ambazo echo wanaweza kukimbia. 1251 01:31:16,630 --> 01:31:22,310 Kuweka echo_style kwa thamani kwamba katika TC-shell kusababisha echo ya kuishi kwa njia hiyo. 1252 01:31:22,310 --> 01:31:27,670 Hivyo kuweka gani kwamba, lakini kuweka anapata tu vigezo shell. 1253 01:31:27,670 --> 01:31:35,430 Itakuwa si kupata EDITOR, ambayo si variable shell. 1254 01:31:36,870 --> 01:31:38,050 Chochote. 1255 01:31:38,050 --> 01:31:39,660 Hivyo kwamba ni njia mojawapo ya kubainisha yao. 1256 01:31:39,660 --> 01:31:42,000 Lakini ukweli kwamba una kwenda njia ya ile amri ya baadhi ya ajabu kama kwamba 1257 01:31:42,000 --> 01:31:45,500 kutofautisha kati ya vigezo shell au mazingira vigezo 1258 01:31:45,500 --> 01:31:49,970 inaonyesha aina ya kuwekwa katika vitendo asili ya C-shell kwa baadhi ya madhumuni ya. 1259 01:31:52,290 --> 01:31:57,960 Na sasa, mwisho na labda uchache, hii ni kurasa mtu. 1260 01:31:57,960 --> 01:32:03,190 Wale wa wewe ambao wanaweza Unajua, mwanaume ni amri short kwa mwongozo. 1261 01:32:03,190 --> 01:32:08,610 mtu kurasa kwa ajili ya shells ni vigumu kusoma. Wao ni muda mrefu sana. 1262 01:32:08,610 --> 01:32:14,060 Wao ni kupangwa katika njia ambayo inaweza kufanya ni vigumu kupata nini wewe kutafuta. 1263 01:32:14,060 --> 01:32:15,980 Hivyo kama wewe ni kutafuta kitu kwa kusudi, 1264 01:32:15,980 --> 01:32:20,050 huwezi kujua kama lengo kwamba ni variable shell au kitu kingine, 1265 01:32:20,050 --> 01:32:21,630 hivyo unaweza kujua wapi kuangalia kwa ajili yake. 1266 01:32:21,630 --> 01:32:25,030 Unaweza kuangalia kwa masharti mbalimbali, lakini masharti ni mara nyingi mara kwa mara. 1267 01:32:25,030 --> 01:32:27,640 Hivyo ni kwa ujumla vigumu kusoma. 1268 01:32:27,640 --> 01:32:33,810 Sisi tu inaonekana katika TC-shell mtu ukurasa kidogo kabla ya kupata amri UFUNDISHAJI. 1269 01:32:33,810 --> 01:32:36,610 Baadhi ya mambo kwenda kwa kasi zaidi. 1270 01:32:36,610 --> 01:32:38,860 Njia moja ni kutafuta kamba. 1271 01:32:38,860 --> 01:32:40,360 Unaweza kutumia pager. 1272 01:32:40,360 --> 01:32:49,080 Pager ana slash kuangalia kwa amri au kamba ndani ya operesheni pager. 1273 01:32:49,080 --> 01:32:52,830 Mtu na default kutumia pagers, ama kuwa zaidi au chini. 1274 01:32:52,830 --> 01:32:56,560 Mimi sijui kama wewe ni ukoo na hayo, lakini wale wanaweza kuonyesha files kidogo kidogo. 1275 01:32:56,560 --> 01:33:00,550 Nimekuwa kutumia chini ya kuonyesha haya files hasa sisi tumepewa hapa. 1276 01:33:00,550 --> 01:33:03,300 Unaweza kutafuta huko ndani. 1277 01:33:03,300 --> 01:33:04,880 Unaweza kujaribu kutumia masharti mbalimbali search. 1278 01:33:04,880 --> 01:33:08,420 Pia kurasa mtu katika mifumo mbalimbali ya uendeshaji inaweza kuwa sawa. 1279 01:33:08,420 --> 01:33:11,130 Wanaweza kuwa kurasa tofauti kwa ajili ya CSH na tcsh. 1280 01:33:11,130 --> 01:33:14,500 Wao ni si juu ya Mac, lakini wapate kuwa kama wale ni amri tofauti. 1281 01:33:14,500 --> 01:33:19,000 Kama sh haina kweli wito Bash, kuna pengine itakuwa tofauti mtu ukurasa. 1282 01:33:19,000 --> 01:33:25,820 Baadhi ya mifumo ya kurasa tofauti mtu tu kwa ajili ya C-shell kujengwa katika amri. 1283 01:33:25,820 --> 01:33:30,250 Wakati mwingine kama unataka kusoma maelezo ya kujengwa katika amri 1284 01:33:30,250 --> 01:33:35,350 hilo pia ni katika njia, kama echo, unahitaji kusoma ukurasa mtu kwamba amri juu ya echo 1285 01:33:35,350 --> 01:33:37,610 kuamua jinsi gani itakuwa kazi kama kujengwa katika amri 1286 01:33:37,610 --> 01:33:39,760 hata kama wewe si wito kujengwa katika amri. 1287 01:33:41,630 --> 01:33:46,090 Hiyo ni drawback ya mfumo wa uendeshaji kwa ujumla, si tu kwa shells, 1288 01:33:46,090 --> 01:33:50,710 ingawa kwa shells hasa kurasa mtu ni muda mrefu sana, 1289 01:33:50,710 --> 01:33:56,180 sehemu kwa sababu wameweza aliongeza makala muhimu kwao, ambayo inaweza kuwa chanya. 1290 01:33:56,180 --> 01:34:00,290 Sawa. Je, kuna maswali yoyote? Mada yoyote unataka kuleta up? 1291 01:34:00,290 --> 01:34:03,390 Kitu chochote husika hapa? 1292 01:34:04,540 --> 01:34:07,100 Naam, imekuwa ni nzuri sana kuzungumza na wewe wote. 1293 01:34:07,100 --> 01:34:09,690 Natumaini got kitu nje ya semina hii 1294 01:34:09,690 --> 01:34:13,080 ambayo itakuwa na manufaa kwa ajili yenu katika juhudi yako ya baadaye. 1295 01:34:17,330 --> 01:34:19,000 [CS50.TV]