1 00:00:00,000 --> 00:00:02,320 >> [Seminārs - Unix čaumalas, vide] 2 00:00:02,320 --> 00:00:04,180 [Douglas Kline - Harvard University] 3 00:00:04,180 --> 00:00:07,160 [Tas ir CS50. - CS50.TV] 4 00:00:07,160 --> 00:00:12,770 >> Šodienas tēma ir Unix shell. 5 00:00:12,770 --> 00:00:20,600 Es esmu Douglas Kline, eksperts, vai vismaz pietiekami kompetenta lietotājs, korpusa. 6 00:00:20,600 --> 00:00:25,280 Apvalks ir saskarne lietotāju uz datora operētājsistēmu. 7 00:00:25,280 --> 00:00:29,580 Nosaukums ir maldinošs, jo, atšķirībā no dzīvnieka čaumalu, 8 00:00:29,580 --> 00:00:34,890 kas ir grūti un aizsardzības, datoru apvalks ļauj komunikācijas. 9 00:00:34,890 --> 00:00:39,120 Tāpēc porains membrānu, iespējams, būtu labāks metafora. 10 00:00:39,120 --> 00:00:44,500 >> Oriģināls apvalks Unix ir Bourne čaula. 11 00:00:44,500 --> 00:00:46,450 Bourne ir plēkšņu B-O-U-R-N-E. 12 00:00:46,450 --> 00:00:49,770 Bourne bija viens no sākotnējiem autoriem Unix, 13 00:00:49,770 --> 00:00:51,700 un tā apvalks ir nosaukta viņa vārdā. 14 00:00:51,700 --> 00:00:54,850 Minētā čaulas kā komandas nosaukums ir vienkārši sh. 15 00:00:54,850 --> 00:00:57,400 Tas ir komanda, jūs varat izpildīt. 16 00:00:57,400 --> 00:01:00,810 Shell sākas pieteikšanās. 17 00:01:00,810 --> 00:01:04,459 Kad jūs piesakāties datorā, apvalks tikai sāk darboties, lai jūs, 18 00:01:04,459 --> 00:01:06,820 un tas, ko aizņem jūsu komandas. 19 00:01:06,820 --> 00:01:09,790 To var sākt citā laikā arī. 20 00:01:09,790 --> 00:01:16,780 Ja jūs audzināt logu nav citas norādes, tas sāks čaulas jums. 21 00:01:16,780 --> 00:01:20,450 Tas, kā tas ir, ka jūs varat doties uz loga un sākt rakstīt komandas 22 00:01:20,450 --> 00:01:23,960 un tā tālāk, tur, pat ja jums nav pieteiktos uz šo logu. 23 00:01:23,960 --> 00:01:26,670 Turklāt, ja jūs tālvadības login, 24 00:01:26,670 --> 00:01:30,250 tad tas sāks apvalks uz attālā datora. 25 00:01:30,250 --> 00:01:44,310 Un tas ir iespējams palaist komandas bez interaktīvu čaulu. 26 00:01:44,310 --> 00:01:48,990 Tas var nozīmēt jūsu pašreizējo darbību, 27 00:01:48,990 --> 00:01:50,700 un tas var nozīmēt arī tālvadību. 28 00:01:50,700 --> 00:01:52,900 Jūs varētu nosūtīt komandu uz citu datoru, 29 00:01:52,900 --> 00:01:55,460 kas ietver uzsākšanu apvalks tur. 30 00:01:55,460 --> 00:01:57,760 Faktiski, tas ir jāiekļauj uzsākšanai apvalks tur 31 00:01:57,760 --> 00:02:01,740 pat tad, ja tas nav jūsu gala mērķis. 32 00:02:05,310 --> 00:02:12,350 Kad kaut kas sāk augšu, piemēram, tas, tas ne vienmēr sāktu jaunu apvalks. 33 00:02:12,350 --> 00:02:17,430 Ja jūs audzināt jaunu logu, tas ir iespējams pateikt to audzināt redaktors 34 00:02:17,430 --> 00:02:18,940 vai kādu citu komandu. 35 00:02:18,940 --> 00:02:20,560 Tādā gadījumā, redaktors sāksies no nulles. 36 00:02:20,560 --> 00:02:22,930 Kad redaktoru beidzas, logu beidzas. 37 00:02:22,930 --> 00:02:24,620 Tas ir mazliet neparasti, bet tas var izdarīt. 38 00:02:24,620 --> 00:02:27,140 Šajos gadījumos tas nebūs apvalks. 39 00:02:27,140 --> 00:02:31,890 Tāpēc tas ne vienmēr tā ir, ka logs vai kādu šāda piemērošana būs audzināt apvalks. 40 00:02:31,890 --> 00:02:34,030 >> Shell parses komandas. 41 00:02:34,030 --> 00:02:40,900 Analizējot nozīmē nosakot dažādus elementus un tos klasificētu. 42 00:02:40,900 --> 00:02:43,470 Tās komandas, pilnīga string, ka jūs tipa, 43 00:02:43,470 --> 00:02:47,310 tur būs 1 vai vairākas atsevišķas komandas, lai tiktu izpildīts. 44 00:02:47,310 --> 00:02:50,050 Citi elementi var būt argumenti. 45 00:02:50,050 --> 00:02:55,020 Var būt arī speciālās rakstzīmes, kas ietekmē izpildi komandu. 46 00:02:55,020 --> 00:02:59,710 Viņi var sūtīt produkciju kaut kas nav ekrāna 47 00:02:59,710 --> 00:03:01,750 ja komanda būtu parasti nosūta to uz ekrāna. 48 00:03:01,750 --> 00:03:04,390 Tas var novirzīt ievadi, to var darīt citas lietas arī. 49 00:03:04,390 --> 00:03:08,120 Ir dažādi citi simboli, zīmes, un tā tālāk. 50 00:03:08,120 --> 00:03:13,600 Analizējot ietver atklātu un interpretējot tās lietas. 51 00:03:13,600 --> 00:03:19,560 >> Tagad, ja ir ne vairāk jautājumi, kas ir diezgan iespējams, jo nav vairāk cilvēku, 52 00:03:19,560 --> 00:03:24,620 mēs dosimies uz manu nākamo lapu šeit. 53 00:03:24,620 --> 00:03:29,170 >> Es teicu iepriekš, ka Bourne apvalks ir sākotnējais apvalks. 54 00:03:29,170 --> 00:03:31,550 Tur ir citi. 55 00:03:31,550 --> 00:03:34,520 Viens ir C-shell. Komanda ir CSH. 56 00:03:34,520 --> 00:03:36,830 Nosaukums C-apvalks ir tikai vārdu spēle. 57 00:03:36,830 --> 00:03:41,260 Šis apvalks tika ieviests ar Berkeley Unix vidū 1970. 58 00:03:41,260 --> 00:03:44,830 Berkeley Unix bija radošs notikums attīstībā Unix. 59 00:03:44,830 --> 00:03:48,770 Tā bija milzīga revolūcija un ietvēra šīs čaulas ieviešanu. 60 00:03:48,770 --> 00:03:50,790 Iemesls šo vārdu spēli, C-shell, 61 00:03:50,790 --> 00:03:56,490 ir tas, ka C-čaulas ir dažas tajā īpašības, kas līdzinās C valodu, 62 00:03:56,490 --> 00:03:59,740 kas Bourne shell nav - 63 00:03:59,740 --> 00:04:02,140 vai arī tas nebija tajā laikā. 64 00:04:02,140 --> 00:04:05,190 Tur ir arī TC bruņas. 65 00:04:05,190 --> 00:04:07,360 Tas ir superset C-shell. 66 00:04:07,360 --> 00:04:11,470 Tas ir papildu funkcijas, no kuriem daudzi ir noderīgi interaktīvai lietošanai, 67 00:04:11,470 --> 00:04:16,050 piemēram, atgādinot komandas vēstures mehānismā, 68 00:04:16,050 --> 00:04:18,459 ko es ņemšu aprakstīt nedaudz vēlāk - 69 00:04:18,459 --> 00:04:23,120 vienkāršā veidā, kas veidota pēc redaktoru. 70 00:04:23,120 --> 00:04:29,170 Tas arī ir stiprinājumi, kas ļauj jums saistīt īsu galveno virkni ilgāku komandu. 71 00:04:29,170 --> 00:04:31,440 Mēs nebrauksim, lai nokļūst, ka šodien. 72 00:04:31,440 --> 00:04:33,650 Tas ir dažas funkcijas, kas ir noderīgi programmēšanu. 73 00:04:33,650 --> 00:04:37,020 Tomēr, C-apvalks nav bieži izmanto shell programmēšanu. 74 00:04:37,020 --> 00:04:39,080 Shell programmas, ja jums nav jau zināt, 75 00:04:39,080 --> 00:04:41,690 ir programmas, kas sastāv no čaulas īpašības. 76 00:04:41,690 --> 00:04:43,220 Jūs varētu palaist tos kā programmas. 77 00:04:43,220 --> 00:04:46,760 Rakstot ķekars shell komandas failā un izpildīt failu. 78 00:04:46,760 --> 00:04:49,760 Jums nav nepieciešams, lai apkopotu to. Tas ir interpretācijas valoda. 79 00:04:49,760 --> 00:04:57,320 Tagad frāze C-apvalks ir neskaidrs, jo tas varētu attiekties tikai uz sākotnējo C-čaulas, CSH, 80 00:04:57,320 --> 00:05:01,200 vai visu C-apvalkiem, ieskaitot elm. Tas ir nedaudz neskaidrs. 81 00:05:01,200 --> 00:05:08,250 >> Vēlāk apvalks ir Korn apvalks, ksh, nosaukts pēc programmētājs, Korn. 82 00:05:08,250 --> 00:05:14,160 Šis apvalks mēģināts iekļaut 1 čaulā 83 00:05:14,160 --> 00:05:16,960 priekšrocības C-apvalks interaktīvai lietošanai 84 00:05:16,960 --> 00:05:19,230 un Bourne Shell plānošanas. 85 00:05:19,230 --> 00:05:25,440 Tas ir ticis izmantots kā interaktīvu čaulu ar dažiem cilvēkiem - minoritātes. 86 00:05:25,440 --> 00:05:32,050 Vēlāk gan, tur bija vēl viens ievads, Bash apvalks, BASH, 87 00:05:32,050 --> 00:05:35,290 atkal vārdu spēli, Bourne-atkal apvalks. 88 00:05:35,290 --> 00:05:43,830 Tas ir par Bourne Shell paplašinājums. Korn apvalks ir arī. Abas no tām ir. 89 00:05:43,830 --> 00:05:48,100 Tam ir tādas pašas mērķus Korn čaumalu, kas apvieno C-apvalks ir 90 00:05:48,100 --> 00:05:50,980 un Bourne Shell ir priekšrocības 1 čaumalu. 91 00:05:50,980 --> 00:05:56,810 Daudzi no uzlabojumiem Korn čaumalu ir iekļauti arī Bash. 92 00:05:56,810 --> 00:06:00,710 Bash, tomēr ir vairāk, un tādējādi ir vēlams. 93 00:06:00,710 --> 00:06:05,180 Bourne-atkal apvalks un Korn apvalks sauc Bourne tipa apvalkiem 94 00:06:05,180 --> 00:06:07,730 jo tie ietver Bourne Shell īpašības, 95 00:06:07,730 --> 00:06:11,180 kas nav savienojama dažos aspektos ar C-korpusiem. 96 00:06:11,180 --> 00:06:15,520 Ir arī citas čaumalas turklāt tiem, daži paredzēti ierobežotai izmantošanai, 97 00:06:15,520 --> 00:06:20,670 varbūt tikai dažas komandas, varbūt specializētās mērķiem, netiek bieži lietots. 98 00:06:20,670 --> 00:06:24,240 >> Labi. Nākamais punkts šeit. 99 00:06:31,300 --> 00:06:38,970 Bash shell ir kļuvis saistīta ar dažāda veida Linux. 100 00:06:38,970 --> 00:06:41,550 Es neesmu pārliecināts, vai tā ir taisnība, par katru formu. 101 00:06:41,550 --> 00:06:43,280 Ir daudzi veidi, kas tur, un man ir neizmanto tos visus, 102 00:06:43,280 --> 00:06:46,870 bet tiem, kas man ir izmantoti tas ir kļuvis kas saistīti ar to. 103 00:06:46,870 --> 00:06:49,670 Ciktāl es zinu, nekas par Bash 104 00:06:49,670 --> 00:06:52,210 kas padara to vairāk ir saderīga ar Linux 105 00:06:52,210 --> 00:06:55,020 nekā jebkura cita kombinācija čaulas un operētājsistēmas. 106 00:06:55,020 --> 00:06:59,690 Es domāju, ka tas droši vien tikai atspoguļo tieksmes par programmētāju. 107 00:06:59,690 --> 00:07:07,500 Ka tas ir kļuvis saistīts ar Linux, ir vēl viens iemesls, lai priekšroku Bash uz KSH 108 00:07:07,500 --> 00:07:11,820 jo lietas, iespējams, ir rakstīts, un tas ir iespējams izplatīties. 109 00:07:11,820 --> 00:07:15,410 Es došu jums ir citi riska faktori, kas vēlāk. 110 00:07:15,410 --> 00:07:21,330 Bourne Shell skripti vajadzētu braukt ar Korn čaumalu vai Bash. 111 00:07:21,330 --> 00:07:22,650 Ja jums rakstīt kaut ko Bourne Shell, 112 00:07:22,650 --> 00:07:26,180 Jūs varat droši izpildīt saskaņā KSH vai bash. 113 00:07:26,180 --> 00:07:30,610 Korn shell skripti, iespējams, darbosies saskaņā ar Bash, bet es nevaru garantēt, ka. 114 00:07:30,610 --> 00:07:36,040 Vēlāk šeit, C-čaulas skriptus būtu braukt ar TC-čaumalu. 115 00:07:38,850 --> 00:07:41,690 C-shell faktiski nekad nav plaši izmanto skriptu 116 00:07:41,690 --> 00:07:48,110 jo Bourne Shell un vēlāk Bourne tipa čaulas bija vēlams šim nolūkam. 117 00:07:48,110 --> 00:07:50,620 Tātad tas tiešām nav viss, kas svarīgi. 118 00:07:50,620 --> 00:07:53,480 Ir diezgan daudz Bourne Shell skriptus, kas rakstīts sen, 119 00:07:53,480 --> 00:07:56,860 pirms Korn čaumalu vai Bourne-atkal apvalks tika ieviestas. 120 00:07:56,860 --> 00:07:59,300 Tie ir joprojām izmantošanu, kas ir daļa no operētājsistēmām, 121 00:07:59,300 --> 00:08:01,590 un tā jūs atradīsiet to, ja paskatās uz operētājsistēmu 122 00:08:01,590 --> 00:08:03,760 vai dažas vecās programmu paketes. 123 00:08:03,760 --> 00:08:12,840 >> Bash ir zināmā mērā kļūst par sava veida lingua franca par operētājsistēmām. 124 00:08:12,840 --> 00:08:17,580 Tas jau tika pagarināts uz Windows un VMS. 125 00:08:17,580 --> 00:08:20,440 VMS, ja jūs nezināt, ir patentēta operētājsistēmas 126 00:08:20,440 --> 00:08:25,480 Digital Equipment Corporation, kas joprojām lieto, galvenokārt aizkulisēs. 127 00:08:25,480 --> 00:08:29,250 Un, ja tas būs darbojas dažādās operētājsistēmās, 128 00:08:29,250 --> 00:08:31,110 iespējams, ka cilvēki mēdz pāriet uz to. 129 00:08:31,110 --> 00:08:33,840 Bet šī attīstība ir salīdzinoši nesen. 130 00:08:33,840 --> 00:08:39,490 Tas ir tikai sākums, tāpēc es nevaru prognozēt, ja tas izrādīsies patiesi, ka sava veida lingua franca. 131 00:08:39,490 --> 00:08:43,539 Arī tāpēc, ka failu pathnames un bibliotēkās atšķiras 132 00:08:43,539 --> 00:08:46,210 starp šīm dažādajām operētājsistēmām, 133 00:08:46,210 --> 00:08:50,250 Jūs, iespējams, nevar uzrakstīt bash skriptu vienu operētājsistēmu 134 00:08:50,250 --> 00:08:51,840 un tad palaist to uz citu. 135 00:08:51,840 --> 00:08:54,440 Jums vajadzētu būt iespējai, lai pārvietotu to starp dažādām UNIX, Linux 136 00:08:54,440 --> 00:08:59,020 Mac OS operētājsistēmas, bet ne vienmēr to Windows vai VMS. 137 00:08:59,020 --> 00:09:01,390 Jums var būt nepieciešams mainīt failu ceļavārdiem aprakstus, 138 00:09:01,390 --> 00:09:03,180 un dažas bibliotēkas var būt atšķirīgs, 139 00:09:03,180 --> 00:09:05,230 kas var ietekmēt tā, ka dažas komandas darbu 140 00:09:05,230 --> 00:09:09,730 vai to, kā tās apstrādā argumentus un tamlīdzīgi. 141 00:09:09,730 --> 00:09:19,230 Papildus tam, ka, cita piesardzība šeit ir tā, ka nav nekādas garantijas, 142 00:09:19,230 --> 00:09:23,570 ka visas dažādās čaumalas es esmu minēts - Bourne Shell, C-čaulas, 143 00:09:23,570 --> 00:09:29,880 TC-shell, Korn shell, Bourne-atkal apvalks - būs pieejami saskaņā ar jebkuru Unix 144 00:09:29,880 --> 00:09:33,750 vai Linux vai Mac OS datoru. 145 00:09:33,750 --> 00:09:35,620 Viņi vienkārši var nebūt tur. 146 00:09:35,620 --> 00:09:38,300 Tas ir viens no brīdinājumus šeit. 147 00:09:38,300 --> 00:09:41,490 Tas ir žēl ierobežojums šeit, jo jūs vēlaties lietas, kas strādā visur, 148 00:09:41,490 --> 00:09:44,380 bet, diemžēl, jūs nevarat paļauties uz to. 149 00:09:44,380 --> 00:09:47,230 >> Labi. Nākamais šeit. 150 00:09:50,280 --> 00:09:54,370 Pieņemsim, ka jūs vēlaties rakstīt shell skriptu, 151 00:09:54,370 --> 00:09:57,170 programma, kas sastāv no čaulas komandas. 152 00:09:57,170 --> 00:10:01,200 Jūs rakstāt savu komandas, nodot tos failu, un izpildīt failu. 153 00:10:01,200 --> 00:10:04,230 Ko darīt, ja jūs vēlaties iekļaut argumentus? 154 00:10:04,230 --> 00:10:09,650 Gadījumā, ja apvalks darbībām argumenti sauc parametrus vai pozicionālās parametri 155 00:10:09,650 --> 00:10:15,940 un tie būs saukt ar dolāra zīmi, un cipara, $ 1, $ 2. 156 00:10:15,940 --> 00:10:27,000 Tātad, ja skripts ir šo vārdu, mans pirmais arguments varētu būt arguments 1 157 00:10:27,000 --> 00:10:30,540 un mans otrais varētu būt arguments 2, 158 00:10:30,540 --> 00:10:34,110 un manā rakstībā, ja es vēlos atsaukties uz šīm lietām - 159 00:10:34,110 --> 00:10:36,810 pieņemsim dzēst šo, jo es neesmu īsti gatavojas palaist to - 160 00:10:36,810 --> 00:10:42,160 iekšā manu skriptu es varētu būt $ 1 līdz atsaukties uz ARG1, 161 00:10:42,160 --> 00:10:45,890 $ 2, kas būs, ka veidā, arg2. 162 00:10:45,890 --> 00:10:50,080 Tātad šie simboli ir pieejami, lai atsauktos uz argumentiem, 163 00:10:50,080 --> 00:10:52,390 un tie attiecas uz visiem čaulām. 164 00:10:52,390 --> 00:10:56,520 Bez tam, ir arī citas rakstzīmes. 165 00:10:56,520 --> 00:11:01,700 $ * Attiecas uz visu argumentu sarakstā, visi no tiem. 166 00:11:01,700 --> 00:11:05,390 $ # Atsaucas uz vairākiem argumentiem. 167 00:11:05,390 --> 00:11:07,910 Atkal, tas attiecas uz visiem korpusiem. 168 00:11:07,910 --> 00:11:15,540 Šie simboli, * un #, var izmantot ar šīm nozīmēm citās vietās arī. 169 00:11:15,540 --> 00:11:17,940 Mēs nebūsim nokļūst to. 170 00:11:17,940 --> 00:11:20,460 >> Shell apzīmētājs līnija. Kas ir, ka? 171 00:11:20,460 --> 00:11:27,760 Pieņemsim, ka jūs esat uzrakstījis scenāriju, un tas ir par konkrētu čaumalu, un jūs vēlaties, lai tā varētu darboties. 172 00:11:27,760 --> 00:11:33,500 Kā jūs zināt, ko apvalks jūsu operētājsistēma izmanto, lai palaistu savu skriptu? 173 00:11:33,500 --> 00:11:37,230 Vienā brīdī jūs varētu pieņemt, ka tas varētu darboties to Bourne Shell 174 00:11:37,230 --> 00:11:39,440 ja jums nav teikt savādāk, 175 00:11:39,440 --> 00:11:41,730 bet cilvēki nav rakstīt skriptus ar Bourne Shell, ka daudz vairs 176 00:11:41,730 --> 00:11:43,750 un jūs pat nevarat paļauties uz to vairs. 177 00:11:43,750 --> 00:11:48,740 Tātad, šeit mums ir apvalks apzīmētājs līnija tieši šeit. 178 00:11:48,740 --> 00:11:52,450 , Kas norāda Bash. 179 00:11:52,450 --> 00:11:56,750 Ņemiet vērā, ka tas nosaka to ceļavārdiem, / bin / bash. 180 00:11:56,750 --> 00:12:02,870 Ja datoram ir bash shell, bet ne bin direktorijā, / bin, tas nedarbosies. 181 00:12:02,870 --> 00:12:06,870 Tas ir vēl viens apzīmētājs, vēl piesardzīgi šeit. 182 00:12:06,870 --> 00:12:09,500 Restīte ir komentārs līnija raksturs. 183 00:12:09,500 --> 00:12:12,300 Tas attiecas uz visiem korpusiem. 184 00:12:12,300 --> 00:12:18,610 It īpaši šajā gadījumā, #! sākumā skriptu, ir īpašs gadījums. 185 00:12:18,610 --> 00:12:23,410 , Kas norāda, ka apvalks, kurā, lai palaistu skriptu. 186 00:12:23,410 --> 00:12:30,230 Kā jau es teicu, tas varētu būt tajā pašā vietā / bin. 187 00:12:30,230 --> 00:12:34,880 Bez tam, tur ir cita lieta šeit. 188 00:12:34,880 --> 00:12:41,250 Ja jūs tikai izmantot restīte bez izsaukuma zīmi un ceļavārdiem, 189 00:12:41,250 --> 00:12:44,640 kas jānorāda C-apvalks. 190 00:12:44,640 --> 00:12:48,300 Tomēr es nedomāju, iesakām to izdarīt, jo es neesmu spējīgs garantēt 191 00:12:48,300 --> 00:12:49,750 ka tas vienmēr strādā. 192 00:12:49,750 --> 00:12:52,220 Ja jūs vēlaties C-apvalks, tas būtu labāk, tā teikt. 193 00:12:52,220 --> 00:12:58,450 Tad tur ir kaut kas diezgan mulsinoši šeit. 194 00:12:58,450 --> 00:13:03,940 Ja jūs izmantojat apvalks apzīmētājs līniju, piemēram, / bin / bash 195 00:13:03,940 --> 00:13:07,070 un ka apvalks nav pieejams tur, 196 00:13:07,070 --> 00:13:10,680 tur nav tādas lietas kā / bin / bash par šo konkrēto datoru, 197 00:13:10,680 --> 00:13:14,330 vai nu tāpēc, ka tas nav Bash vai tāpēc, ka tas ir citā vietā, 198 00:13:14,330 --> 00:13:17,450 jūs saņemsiet kļūdas teikts, ka skripts jūs ilga neeksistē. 199 00:13:17,450 --> 00:13:21,510 Un, protams, jūsu skriptu pastāv, lai kļūdas ziņojums ir mulsinoši. 200 00:13:21,510 --> 00:13:24,810 Iemesls, ka operētājsistēma sniedz jums, ka kļūda 201 00:13:24,810 --> 00:13:28,370 vai, precīzāk, ka jūsu interaktīvā apvalks, kurā jūs izmantojat tas dod, ka kļūda, 202 00:13:28,370 --> 00:13:33,510 ir, ka tas sniedz komandu, kuru izmantojāt, kas ir nosaukums skriptu. 203 00:13:33,510 --> 00:13:36,920 Ka komanda faktiski sauc apvalks ar nosaukumu skriptu. 204 00:13:36,920 --> 00:13:39,330 Tas ir, ja jums, ka mulsinoši kļūdas ziņojumu. 205 00:13:39,330 --> 00:13:42,980 Vēl viens veids, kā zvanīt shell skriptu 206 00:13:42,980 --> 00:13:45,910 ir norādot apvalks uz komandrindas, kā šeit. 207 00:13:45,910 --> 00:13:52,510 Šī ir komanda. Šis saka palaist bash un pēc tam palaist manu skriptu Bash. 208 00:13:52,510 --> 00:13:55,680 Kas būs prioritāte pār apzīmētājs līniju, 209 00:13:55,680 --> 00:14:02,090 un tas ir, kas ļauj jums, lai nodrošinātu dažādu pathnames funkciju. 210 00:14:02,090 --> 00:14:04,840 Ja jūs vienkārši dot komandu, operētājsistēma meklēs šo komandu 211 00:14:04,840 --> 00:14:06,410 dažādās vietās. 212 00:14:06,410 --> 00:14:08,820 Ja tas ir iespējams, būtu atrast. 213 00:14:08,820 --> 00:14:12,290 Dators atradīs Bash, kur tas atrodas, un palaist to, 214 00:14:12,290 --> 00:14:15,470 tāpēc jums nav nepieciešams, tad ir bažas par to, kur tas atrod to. 215 00:14:15,470 --> 00:14:17,360 Ir iespējams, citas problēmas šeit, 216 00:14:17,360 --> 00:14:20,830 kā tad, ja tur ir vairāk nekā 1 versija Bash, kas ir iespējams, lai gan maz ticams. 217 00:14:20,830 --> 00:14:23,540 Tātad, tas ir vēl viens veids, kā tikt galā ar šīm lietām. 218 00:14:23,540 --> 00:14:30,480 Apzīmētājs līnijas var zvanīt uz jebkuru čaumalu. 219 00:14:30,480 --> 00:14:34,480 Tās var arī zvanīt lietas, kas nav korpusiem. 220 00:14:34,480 --> 00:14:37,940 Piemēri Man šeit ir sed, kas ir plūsma editor; 221 00:14:37,940 --> 00:14:39,900 AWK, kas ir modelis apstrādes valodas; 222 00:14:39,900 --> 00:14:43,680 un Perl, ļoti augsti attīstīta skriptu valoda. 223 00:14:43,680 --> 00:14:47,570 Ja jūs likts apzīmētājs līnija, norādot vienu no šīm programmām, sākumā, 224 00:14:47,570 --> 00:14:51,270 tā iet tieši uz šo programmu, nevis sākot apvalks. 225 00:14:51,270 --> 00:14:54,030 Šīs programmas ir robežas savām spējām. 226 00:14:54,030 --> 00:14:58,790 Perl ir ļoti spējīgs. Sed ir redaktors. To var darīt lietas tālāk vienkārši rediģējot. 227 00:14:58,790 --> 00:15:03,300 Bet tas var būt grūti, lai programma, kas. 228 00:15:03,300 --> 00:15:09,670 Turklāt, iet argumentus un stuff skripts ir vai nu neiespējama, vai mulsinoši. 229 00:15:09,670 --> 00:15:15,030 Tātad šajos gadījumos ar AWK un sed, tas ir, vismaz manā pieredzē, 230 00:15:15,030 --> 00:15:18,910 vēlams rakstīt shell skriptu un zvanu awk vai sed no shell skriptu 231 00:15:18,910 --> 00:15:24,660 nevis zvanot awk vai sed kā skriptu Specifikāciju līnijas. 232 00:15:24,660 --> 00:15:26,980 Perl ir ļoti daudzveidīga valodu, kā es teicu. 233 00:15:26,980 --> 00:15:30,050 Jūs nevarat palaist interaktīvu komandas perl, 234 00:15:30,050 --> 00:15:32,660 kas nozīmē, ka jūs nevarat pārbaudīt daļas skriptus, ka jūs esat jaunattīstības 235 00:15:32,660 --> 00:15:33,970 palaižot tos interaktīvi. 236 00:15:33,970 --> 00:15:36,160 Tomēr tas ir ļoti spējīgs valoda 237 00:15:36,160 --> 00:15:40,960 un ir izveidojušies ļoti plaši izmantots līdzeklis. 238 00:15:40,960 --> 00:15:45,720 Tas ir tikai nedaudz par Parenthetical piezīme par Specifikāciju līnijām. 239 00:15:45,720 --> 00:15:50,610 >> Ar visu vai lielāko daļu Linux formu - atkal, es nevaru būt drošs, ka viss - 240 00:15:50,610 --> 00:15:57,900 un Mac OS, ja jūs tipa CSH jums tcsh, 241 00:15:57,900 --> 00:16:00,570 un, ja jūs tipa sh jums bash. 242 00:16:00,570 --> 00:16:05,020 Viņi centās tur, lai dotu jums vairāk uzlabotas versijas šīm čaumalas, 243 00:16:05,020 --> 00:16:07,940 bet tas var būt mulsinoši. 244 00:16:07,940 --> 00:16:16,720 Ja jūs uzrakstīt skriptu izmantojot tcsh vai Bash funkcijas vienlaikus aicinot CSH vai sh 245 00:16:16,720 --> 00:16:22,230 un tad mēģināt palaist to datorā, kurā nav tcsh vai Bash, 246 00:16:22,230 --> 00:16:25,050 jūs varētu saņemt kādu kļūdu, ja ir komandas, kas tur 247 00:16:25,050 --> 00:16:27,970 kuriem šīs čaulas neatzīst. 248 00:16:27,970 --> 00:16:34,120 Bez tam, jums var būt sauc savu apvalks tavā datorā 249 00:16:34,120 --> 00:16:37,700 nosaucot to par sh un CSH, un tad kļūst vairāk uzlabotas čaumalas. 250 00:16:37,700 --> 00:16:41,440 Jums var pat domāt par to, ka jūs esat, izmantojot vairāk progresīvas čaumalu. 251 00:16:41,440 --> 00:16:45,670 Tātad tas ir potenciāls pitfall. 252 00:16:45,670 --> 00:16:50,290 Kā tas ir konstatēts, ka, ja jūs tipa sh jums Bash, 253 00:16:50,290 --> 00:16:55,580 ja jūs tipa CSH jums tsch? 254 00:16:55,580 --> 00:16:59,940 Ir lietas, kas šiem datoriem sauc saites 255 00:16:59,940 --> 00:17:06,460 kas var savienot failu nosaukumus, lai apzīmētu vienu un to pašu. 256 00:17:06,460 --> 00:17:12,180 Tas var būt vai nu 2 vārdi apzīmē vienu failu vai failu, kura mērķis ir atsaukties uz citu failu. 257 00:17:12,180 --> 00:17:17,550 Viņi aicināja grūti un simboliskās saites. Mēs nebūsim nonākšana ka vairs šodien. 258 00:17:17,550 --> 00:17:21,619 Var būt arī atsevišķi faili - 1 failu sh, 1 failu Bash - 259 00:17:21,619 --> 00:17:23,880 bet tie abi darbojas Bash. 260 00:17:23,880 --> 00:17:29,350 Tad tur ir cita kvalifikācijas šeit. 261 00:17:29,350 --> 00:17:42,640 Ja jūs aicināt kādu no šiem korpusiem ar vienu vārdu, 262 00:17:42,640 --> 00:17:46,640 Jūs, iespējams, domāju, ka jūs saņemsiet to pašu funkcionalitāti kā aicinot to ar citu nosaukumu. 263 00:17:46,640 --> 00:17:49,700 Nu, tas patiesībā ne vienmēr ir taisnība. 264 00:17:49,700 --> 00:17:55,020 Šīs komandas var pārbaudīt vārdu, ar kuru viņi sauc 265 00:17:55,020 --> 00:18:00,020 , un tās var, pamatojoties uz minēto nosaukumu, izturas atšķirīgi. 266 00:18:00,020 --> 00:18:02,740 Var būt jautājumi, mēģinot atbilst standartam. 267 00:18:02,740 --> 00:18:06,060 Daži no jums var būt dzirdējuši par POSIX standartam vai citu, 268 00:18:06,060 --> 00:18:08,730 varbūt citas funkcijas. 269 00:18:08,730 --> 00:18:14,520 Tas var tikt izvēlēts reizēm ar komandrindas argumentus 270 00:18:14,520 --> 00:18:17,310 vai nosakot čaulas mainīgos. 271 00:18:17,310 --> 00:18:22,170 Nosaucot to par sh vai bash faktiski var novest pie dažādām izpildi 272 00:18:22,170 --> 00:18:25,300 pat ja tas ir pats fails, ka jūs esat izpildes. 273 00:18:25,300 --> 00:18:31,800 Vēl viena lieta apsvērt, ir, ka, pat ja cits dators ir tcsh vai Bash, 274 00:18:31,800 --> 00:18:35,310 ja tie nav saistīti, jo tie ir tavā datorā 275 00:18:35,310 --> 00:18:37,990 ja jums ir Linux vai Mac OS lokālā datora, 276 00:18:37,990 --> 00:18:45,630 tad atkal jūs saņemsiet apvalks, ka jums zvanīt sh un CSH, nevis viens, ka jūs varētu labāk. 277 00:18:50,430 --> 00:19:01,130 Pašreizējais Bourne čaulas ir uzlabojumi mazāk nekā Bash 278 00:19:01,130 --> 00:19:06,100 bet agrāk tie sākotnējā Bourne čaumalu. 279 00:19:06,100 --> 00:19:09,690 Kā rezultātā, ka pat pašreizējo Bourne shell, sh, 280 00:19:09,690 --> 00:19:14,560 pat ja tas nav Bash, līdzinās C valoda vairāk nekā C-shell dara. 281 00:19:14,560 --> 00:19:20,460 Tas nebija taisnība, kad C-shell pirmo reizi tika izveidota, bet tā ir izstrādājusi, ka veidā. 282 00:19:20,460 --> 00:19:26,560 Jūs ievērosiet, šeit, ka visi šie čaulas nosaukumi izņemot Bourne čaulas 283 00:19:26,560 --> 00:19:30,640 ir kaut kas, lai norādītu, kurām apvalks tie - CSH, bash - 284 00:19:30,640 --> 00:19:32,550 bet Bourne čaulas ir tikai sh. 285 00:19:32,550 --> 00:19:34,910 Kāpēc? Tas bija oriģināls apvalks. 286 00:19:34,910 --> 00:19:37,770 Tas bija apvalks, tad, nevis apvalks, 287 00:19:37,770 --> 00:19:41,090 un tā kā tas bija apvalks, nebija nekāda iemesla, lai atšķirtu to no citas čaumalu. 288 00:19:41,090 --> 00:19:45,030 Tātad, tas ir iemesls, kāpēc tā ir, ka vārds un joprojām dara. 289 00:19:50,630 --> 00:19:58,990 >> Tas top šeit ir līnija no paroli datubāzes kontu man ir tur 290 00:19:58,990 --> 00:20:01,680 citā datorā. 291 00:20:01,680 --> 00:20:08,300 Es esmu gatavojas izmēģināt, lai iegūtu šo nosaukumu, lai jūs varētu redzēt, ka daļa beigās, čaumalu. 292 00:20:09,720 --> 00:20:15,450 Parole datubāze tur pieteikšanās īpašības visiem lietotājiem. 293 00:20:15,450 --> 00:20:20,330 Sākumā ir lietotājvārds, kuru jūs varat redzēt pēdējos 2 burtus raktuves tagad. 294 00:20:20,330 --> 00:20:23,970 Laukus šeit ir atdalīti ar kolonnas. 295 00:20:23,970 --> 00:20:28,210 Pēdējais lauks, kā jūs varat redzēt, ir bin / tcsh, apvalks. 296 00:20:28,210 --> 00:20:30,230 Tas ir apvalks apzīmētājs. 297 00:20:30,230 --> 00:20:33,240 Tur ir kaut kas interesants šeit. 298 00:20:33,240 --> 00:20:36,950 Kad Unix pirmo reizi tika izstrādāta, tur bija tikai 1 apvalks, 299 00:20:36,950 --> 00:20:38,350 tāpēc nebija izvēles tur. 300 00:20:38,350 --> 00:20:45,570 Tad kāpēc viņi ļauj lauks paroli datu bāzē, lai norādītu apvalks? 301 00:20:45,570 --> 00:20:47,920 Es nezinu, bet tas ir paveicies, ka viņi darīja. 302 00:20:47,920 --> 00:20:52,030 Tas ir diezgan grūti veikt izmaiņas paroli datubāzes formātā 303 00:20:52,030 --> 00:20:54,420 jo daudzas programmas attiecas uz tā formāta 304 00:20:54,420 --> 00:20:57,720 un tas ir jāpārraksta. 305 00:20:57,720 --> 00:21:04,130 Tas ir labi izvēlēts, vai nejauša attīstību, kas tie ir ietverti šajā jomā. 306 00:21:04,130 --> 00:21:12,780 Šāda veida paroles failu līnija tiek izmantota visām Unix un Linux datoriem, lai cik es zinu. 307 00:21:12,780 --> 00:21:14,650 Mac ir sava sistēma. 308 00:21:14,650 --> 00:21:17,810 Tas faktiski ir parole failu ar līnijām šajā formātā, 309 00:21:17,810 --> 00:21:21,060 bet tas nav, ja tiek definēti lietotājs īpašības. 310 00:21:21,060 --> 00:21:24,200 Vēl viens Iekavās piezīme tur. 311 00:21:36,470 --> 00:21:46,020 >> Ja jūs aicināt apvalks, jūs varat zvanīt tas, kā sub-čaulas jūsu esošajiem korpusiem. 312 00:21:46,020 --> 00:21:50,480 Tātad, ja es eju šeit, pieņemsim atbrīvoties no šīm lietām. 313 00:21:50,480 --> 00:21:53,350 Šeit es C-shell. 314 00:21:56,830 --> 00:22:01,200 Tas mainīgais, kas precīzi nosaka manu apvalks, 315 00:22:01,200 --> 00:22:04,300 patiesībā ne vienmēr ir uzticams veids, kā noteikt to, kas apvalks, jūs strādājat, 316 00:22:04,300 --> 00:22:06,220 tomēr šajā gadījumā tā ir. 317 00:22:06,220 --> 00:22:08,040 Ko darīt, ja es vienkārši ierakstiet - 318 00:22:09,970 --> 00:22:12,470 Tagad es esmu Bash. 319 00:22:12,470 --> 00:22:19,540 Dažas lietas, būs tas pats. ls man saka manas komandas. 320 00:22:19,540 --> 00:22:24,500 Ja man apturēt atpakaļ uz manu C-korpusa, ls, pats. Tiesības? 321 00:22:24,500 --> 00:22:28,890 FG, jaunas zināšanas, atpakaļ uz manu Bash čaumalu. 322 00:22:28,890 --> 00:22:38,290 parole, pašreizējā direktorijā, atpakaļ uz C-čaumalu. 323 00:22:38,290 --> 00:22:43,180 parole, dažādi katalogs - faktiski nav atšķirīgs direktorija šajā lietā. 324 00:22:43,180 --> 00:22:45,110 Tas pats direktorijā. 325 00:22:45,110 --> 00:22:50,000 Pieņemsim, ka es vēlos, lai izsauktu komandu šeit: kur ls. 326 00:22:50,000 --> 00:22:52,140 Ko tas dara? 327 00:22:52,140 --> 00:22:53,670 Tas man saka, ja ls komandu, 328 00:22:53,670 --> 00:22:56,670 viens, kas dod man direktoriju sarakstu, atrodas ls. 329 00:22:56,670 --> 00:23:01,460 Iesim atpakaļ uz Bash čaumalu. Mēģināsim to pašu. 330 00:23:01,460 --> 00:23:05,830 Hmm, interesanti tur, kur komanda nav atrasts. 331 00:23:05,830 --> 00:23:07,400 Kāpēc tā? 332 00:23:07,400 --> 00:23:11,570 Kur komanda ir veidota ar C-shell. 333 00:23:11,570 --> 00:23:15,630 Tas nav komanda, kas ir jālasa atmiņā no kaut kur citur, un to izpilda. 334 00:23:15,630 --> 00:23:20,310 C-apvalks darbojas to nododot izpildei, lai daļu no tās pašas kodu 335 00:23:20,310 --> 00:23:22,790 un tas nav ar Bash apvalks. 336 00:23:22,790 --> 00:23:25,710 Tātad Bash, kam nav šādu iebūvēto komandu, meklē to, nav atrast to, 337 00:23:25,710 --> 00:23:27,720 un mēs kļūda. 338 00:23:27,720 --> 00:23:32,290 Tātad mums ir Bash apvalks darbojas saskaņā ar C-čaulas, un mēs to saucam, ka sub-čaulas. 339 00:23:32,290 --> 00:23:38,480 Un tikai gadījumā, ja jūs esat ziņkārīgs, Bash shell ir savs veids, kā atrast komandas. 340 00:23:38,480 --> 00:23:42,590 sajauktā norāda uz to, ka tā var tikt izpildīts ātrāk, 341 00:23:42,590 --> 00:23:44,960 tiek atrasts ātrāk. 342 00:23:44,960 --> 00:23:48,610 Tas ir viens no uzlabojumiem, uzcelta uz kādu no šiem korpusiem. 343 00:23:50,220 --> 00:23:54,200 >> Bourne tipa čaumalas tiek dota par programmēšanu. 344 00:23:54,200 --> 00:23:57,300 Viņi ir kontroles struktūras, piemēram, cilpas, nosacījumu paziņojumiem, 345 00:23:57,300 --> 00:24:00,240 veida komandas, kas jūs varētu izmantot programmēšanas valodas, piemēram, C 346 00:24:00,240 --> 00:24:04,190 un neatkarīgi no valodas. Varbūt jūs esat plānošanas Java vai neatkarīgi. 347 00:24:04,190 --> 00:24:06,460 Čaulas ir tiem pārāk. 348 00:24:06,460 --> 00:24:11,790 The Bourne tipa čaumalas, jo Bash, ir vairāk 349 00:24:11,790 --> 00:24:15,730 un tie ir izstrādāti ar lielāku elastību. 350 00:24:15,730 --> 00:24:20,700 Bash apvalks ir masīvi. Oriģināls Bourne čaulas nav. 351 00:24:20,700 --> 00:24:26,130 Tā, ka var būt ievērojami izdevīga programmēšanu. 352 00:24:26,130 --> 00:24:29,810 C-shell tiešām ir masīvi, bet nav daudz šīm citām funkcijām. 353 00:24:29,810 --> 00:24:33,450 The Bourne tipa apvalkiem veiks ātrāk 354 00:24:33,450 --> 00:24:36,520 ja tie nav pazīmes, kas paredzēti interaktīvai lietošanai. 355 00:24:36,520 --> 00:24:39,340 Jūs slodze lietas leju vienam mērķim, tas ielādē tos citam mērķim. 356 00:24:39,340 --> 00:24:41,520 Tur ir, ka kompromiss nav. 357 00:24:41,520 --> 00:24:44,510 Šie elementi, kas paredzēti interaktīvai lietošanai 358 00:24:44,510 --> 00:24:46,920 tiešām ir maz vai nav izmantojami skriptu. 359 00:24:46,920 --> 00:24:52,160 Tas ir iespējams izmantot interaktīvu sub-čaulas tāpat kā viens es sāku tur 360 00:24:52,160 --> 00:24:57,780 izmēģināt komandas, kas jūs plānojat izmantot skriptu. 361 00:24:57,780 --> 00:25:01,180 Tas ir tas, ko jūs nevarat darīt ar Perl. Jūs varat darīt to ar korpusiem. 362 00:25:01,180 --> 00:25:04,850 Pat, piemēram, attiecībā uz cilpas un tā tālāk struktūras var darboties interaktīvi. 363 00:25:04,850 --> 00:25:07,000 Tie ir reizēm noderīga, lai palaistu interaktīvi, 364 00:25:07,000 --> 00:25:10,180 bet drīzāk jūs izmantojat tos, lai attīstītu skriptu. 365 00:25:15,690 --> 00:25:17,400 >> Pseidonīmi. 366 00:25:17,400 --> 00:25:21,630 Tas būs par C-shell. 367 00:25:23,270 --> 00:25:27,570 Vēsture mehānisms, kur jūs saņemsiet atpakaļ uz iepriekšējām komandām 368 00:25:27,570 --> 00:25:30,340 vai daļu no tiem, ka jūs esat jau darbojas. 369 00:25:30,340 --> 00:25:33,680 Atkal par C-čaumalu, Bourne čaulas un Korn apvalks ir šīs lietas, 370 00:25:33,680 --> 00:25:35,620 bet es neesmu gatavojas saņemt uz tiem. 371 00:25:35,620 --> 00:25:40,340 Tātad, šeit ir daži noderīgi pseidonīmi, kas man ir. 372 00:25:43,100 --> 00:25:44,880 Vietā ierakstot ls - tas ir kopīgs komandu - 373 00:25:44,880 --> 00:25:47,620 vienkārši ierakstiet l un saglabāt sev 1 raksturu. 374 00:25:47,620 --> 00:25:50,600 ls ar dažādām iespējām, visi tie strādā. 375 00:25:50,600 --> 00:25:54,460 Ņemiet vērā, ka šīs definīcijas ir pēdiņas ap tiem. 376 00:25:54,460 --> 00:25:57,520 Šādos gadījumos pēdiņas nav nepieciešamas. 377 00:25:57,520 --> 00:26:00,100 Ja jūs varat noteikt tos pseidonīmi bez pēdiņām, tas joprojām strādā. 378 00:26:00,100 --> 00:26:02,910 Tie ir ieteicama. 379 00:26:02,910 --> 00:26:04,900 Ir situācijas, kurās jūs nevarat izmantot citātu 380 00:26:04,900 --> 00:26:08,050 tāpēc, ka jūs vēlaties, lai kaut ko, kas quote varētu novērst. 381 00:26:08,050 --> 00:26:11,210 Dažreiz jūs varat citēt daļu no definīcijas, bet ne visi no tā. 382 00:26:11,210 --> 00:26:17,010 Tas ir arī parasti ieteicams lietot vienu pēdiņām nevis pēdiņas. 383 00:26:17,010 --> 00:26:19,750 Pēdiņas ir ietekme uz mainīgo lielumu definīcijām, 384 00:26:19,750 --> 00:26:22,950 īpaši izraisot to jāvērtē nevis pārtraucot to. 385 00:26:22,950 --> 00:26:25,910 Kāpēc mēs gribam, lai apturētu novērtējumu? 386 00:26:25,910 --> 00:26:28,710 Un kā citātus darīt, ka mums? 387 00:26:28,710 --> 00:26:32,600 >> Te ir komanda, kas jūs varētu atrast interesants. 388 00:26:32,600 --> 00:26:35,470 "Ls g *" 389 00:26:35,470 --> 00:26:37,640 g *, kā jūs droši vien zināt, ir aizstājējzīme izteiksme 390 00:26:37,640 --> 00:26:40,290 visu failu nosaukumus, kas sākas ar g. 391 00:26:40,290 --> 00:26:46,410 Ja es tikai rakstīt komandu ls g *, es saņemsiet sarakstu ar visiem šiem vārdiem manā pašreizējā direktorijā. 392 00:26:46,410 --> 00:26:50,870 Ja es noteikt, ka alias, kā tas ir šeit, ar pēdiņām, 393 00:26:50,870 --> 00:26:56,990 tas darbosies šo komandu savā pašreizējā direktorijā, kur jūs lietojat to. 394 00:26:56,990 --> 00:27:01,250 Bet, ja jūs palaist alias definīciju bez pēdiņām, 395 00:27:01,250 --> 00:27:09,620 tā izvērtēs wildcard g *, ja tā vada šo nosakot komandu. 396 00:27:09,620 --> 00:27:14,400 Tā definīcija alias tiks ls seko sarakstā failus direktorijā 397 00:27:14,400 --> 00:27:16,310 kurā alias komanda ir izpildīta, 398 00:27:16,310 --> 00:27:19,180 neatkarīgi no tā, kur jūs faktiski plānojat palaist komandu. 399 00:27:19,180 --> 00:27:26,360 Tas nav daudz izmantot, un vienu pēdiņām novērstu novērtējumu zvaigznīti. 400 00:27:26,360 --> 00:27:30,780 Tātad, jūs vienkārši iegūt izšķirtspējas būtne ls g *. 401 00:27:30,780 --> 00:27:35,510 Tad, kad jūs darbināt alias, LGS, tad tas liek šo out. 402 00:27:35,510 --> 00:27:40,490 Tagad ir bez pēdiņām, un tas izvērtēs zvaigznīti palaižot alias komandu. 403 00:27:40,490 --> 00:27:43,900 Tāpēc, ka ir viena lieta. 404 00:27:43,900 --> 00:27:46,590 Pēdiņas būtu, ka tāds pats efekts šeit 405 00:27:46,590 --> 00:27:50,580 bet ir arī citi gadījumi, kad pēdiņas nedarbosies tik labi. 406 00:27:50,580 --> 00:27:52,450 >> Te ir vēl viens. 407 00:27:52,450 --> 00:27:54,270 Jūs varētu zināt grep komandu. 408 00:27:54,270 --> 00:28:02,110 Grep komandu var izmantot, lai skenētu failu līnijas, kuras ir noteiktas virknes. 409 00:28:02,110 --> 00:28:10,350 Tāpēc iesim nekā šeit, un es izietu no mana Bourne čaumalu. 410 00:28:23,570 --> 00:28:25,450 Labi. Šeit ir fails. 411 00:28:25,450 --> 00:28:31,490 Pieņemsim, ka tas ir grep abc stīgas. Tur tas ir. 412 00:28:31,490 --> 00:28:37,930 Ja man grep zddd, man neko. Labi. 413 00:28:37,930 --> 00:28:40,960 Tāpēc tā konstatē virkni, tas sniedz, tas neatrod, tas nav par to ziņot. 414 00:28:40,960 --> 00:28:44,930 Tā izejas jebkuru līniju, kas ir šo virkni par to. 415 00:28:44,930 --> 00:28:49,080 Ir visu veidu iespējas, šeit, ko jūs varat atrast dokumentācijā. 416 00:28:49,080 --> 00:28:52,160 Lūk, viens veids, kā to darīt. 417 00:28:52,160 --> 00:29:03,290 Ko par šo vienu, alias grabc "grep abc"? 418 00:29:03,290 --> 00:29:09,000 Kas notiek, lai tajā iekļautu 1 arguments, kad alias ir definēts. 419 00:29:09,000 --> 00:29:26,300 Tātad, ja es daru to šeit, tagad, ja man grabc, 420 00:29:26,300 --> 00:29:30,620 Tagad alias ietver vairāk nekā vienkāršu komandu. Tas arī ir arguments. 421 00:29:30,620 --> 00:29:32,190 Tik tālu, ka darbojas. 422 00:29:32,190 --> 00:29:38,590 Man ir citu komandu šeit, šo vienu, tāpēc tie ir dažādi stīgas tur 423 00:29:38,590 --> 00:29:46,790 un norāda, ka tas nav atrast kaut ko tur, jo tas nesakrīt. 424 00:29:46,790 --> 00:29:56,180 >> Ko darīt, ja es gribu ar alias definīcijā ietver failu, ka es esmu gatavojas meklēt 425 00:29:56,180 --> 00:30:02,970 un es vēlos, lai dotu kā arguments, lai alias stīgu, ka es meklēju? 426 00:30:02,970 --> 00:30:08,040 Es varētu vēlēties pateikt abc kā arguments, lai mana alias, 427 00:30:08,040 --> 00:30:10,870 bet alias jau noteica failu. 428 00:30:10,870 --> 00:30:15,710 Un tas ir, ja šis izteiciens nāk collas 429 00:30:20,430 --> 00:30:25,270 Ievērojiet, šeit mums ir grep, tāpat kā agrāk. 430 00:30:25,270 --> 00:30:28,130 Mums ir failu šeit, stīgas. 431 00:30:28,130 --> 00:30:35,610 \! ^, Sava veida nepāra izteiksme, es domāju, ka, ja neesat redzējuši šo pirms. 432 00:30:35,610 --> 00:30:39,920 Izsaukuma zīme ir daļa no C-shell vēstures mehānismu. 433 00:30:39,920 --> 00:30:45,220 Tā var atcerēties iepriekšējās komandas, tas var atgādināt argumentus šiem komandas un tā tālāk. 434 00:30:46,760 --> 00:31:01,570 History mehānisms tiek lietots kā daļa no aliasing. 435 00:31:01,570 --> 00:31:07,390 Ja norādāt līniju pēc izsaukuma zīmi, tas attieksies uz šo līniju vēstures sarakstā, 436 00:31:07,390 --> 00:31:11,910 kas mums nebūs nokļūst tagad, jo tas ir visu citu tēmu. 437 00:31:11,910 --> 00:31:16,280 Tas ir iespējams precizēt daļu no līnijas. 438 00:31:16,280 --> 00:31:22,950 Tāpēc 03:02! Būs otrais arguments komandu skaita 3. 439 00:31:22,950 --> 00:31:30,430 Caret šeit, šajā vārda nozīmē pirmo argumentu. 440 00:31:30,430 --> 00:31:34,410 Ja jums nav arī tā norādi, kuru komandu jūs, kas attiecas uz, 441 00:31:34,410 --> 00:31:37,300 tas attiecas uz nekavējoties iepriekšējo komandu, 442 00:31:37,300 --> 00:31:41,990 un caret ir simbols pirmo arguments. 443 00:31:41,990 --> 00:31:46,820 Jo tas ir caret, nevis numuru, jums nav nepieciešams izmantot kolu, 444 00:31:46,820 --> 00:31:52,660 tā! ^ ir pirmais arguments uz iepriekšējo komandu. 445 00:31:52,660 --> 00:31:55,020 Mazliet sajaukti šeit. 446 00:31:55,020 --> 00:31:58,450 Šajā gadījumā, ja jūs izmantojat to kā alias definīciju, 447 00:31:58,450 --> 00:32:04,650 vēsture ir atsauce atpakaļ uz komandām, kurās tiek lietots alias. 448 00:32:04,650 --> 00:32:08,470 Tātad šis ir došanās atpakaļ 1 komandu kā vēstures darbību, 449 00:32:08,470 --> 00:32:11,810 bet gan kā alias operāciju tas attiecas uz komandu, kurā jūs tipa, 450 00:32:11,810 --> 00:32:14,780 saka, grstrings_file. 451 00:32:17,440 --> 00:32:20,240 Mums ir pēdiņām šeit tajā. Kas ir slīpsvītra uz? 452 00:32:20,240 --> 00:32:30,810 Šajā gadījumā, tāpat kā citur, mēs nevēlamies izpildīt vēstures mehānismu 453 00:32:30,810 --> 00:32:33,680 vienlaikus nosakot alias. 454 00:32:33,680 --> 00:32:37,900 Ja mums nebūtu slīpsvītru tur, apvalks varētu ieraut pirmo argumentu 455 00:32:37,900 --> 00:32:41,870 Šīs komandas tiesības pirms tā ilga šo alias komandu, ko mēs nevēlamies. 456 00:32:41,870 --> 00:32:47,520 Mēs vēlamies, lai tas tiktu būvēts uz alias komandu zvanīt argumentu vēlāk. 457 00:32:47,520 --> 00:32:53,550 Vienu pēdiņām neizvairītos izsaukuma zīmi, vēstures atsauces. 458 00:32:53,550 --> 00:32:57,450 Varbūt jūs zināt, izteiksmes evakuācijas līdzekļi, lai mainītu jēgu kaut ko. 459 00:32:57,450 --> 00:33:00,260 Šajā gadījumā tas nozīmē, pārtraukt kaut ko no tā, īpaša nozīme. 460 00:33:00,260 --> 00:33:03,030 Izsaukuma zīme ir īpaša nozīme ir vēsture. 461 00:33:03,030 --> 00:33:05,790 Aizbēgt, un tas nav šo nozīmi. 462 00:33:05,790 --> 00:33:08,080 Citāti nav darīt, ka, slīpsvītra dara. 463 00:33:08,080 --> 00:33:11,900 Tāpēc mēs esam faktiski izmantojot 2 līmeņu bēgšanu šeit. 464 00:33:23,500 --> 00:33:29,620 Es esmu gatavojas pārcelties šo komandu uz citu logu, bez ierakstot to 465 00:33:29,620 --> 00:33:35,210 , izmantojot šos rediģēšanas darbības, kas jums var atrast noderīgu. 466 00:33:40,620 --> 00:33:42,460 Kaut kas cits šeit es tev parādīšu. 467 00:33:42,460 --> 00:33:46,730 Ja jūs vienkārši ierakstiet aizstājvārdu bez argumentiem, tā stāsta jums visiem jūsu argumentus. 468 00:33:46,730 --> 00:33:48,640 Tas ir ķekars pseidonīmi man jau bija šeit 469 00:33:48,640 --> 00:33:53,400 turklāt tiem, kas man ir bijis, šodien, izmantojot šeit. 470 00:33:53,400 --> 00:34:00,220 Bet, ja es tikai rakstīt ar vārdu alias, tas stāsta man, ko tas nozīmē. 471 00:34:00,220 --> 00:34:03,390 Ievērojiet, ka pēdiņas ir aizgājuši, un slīpsvītru ir pagājis. 472 00:34:03,390 --> 00:34:08,620 Šī virkne šeit ir rezultāts šo alias definīcijas, 473 00:34:08,620 --> 00:34:12,199 un tagad tas ir vienkārši! ^ tajā. 474 00:34:12,199 --> 00:34:19,150 Tas ir gatavojas meklēt failu virknes par neko. 475 00:34:19,150 --> 00:34:34,900 Tātad, ja man grstrings_file stīgas, man nav arī tā neko, lai meklētu tur, 476 00:34:34,900 --> 00:34:37,429 bet tas meklē stīgas. 477 00:34:37,429 --> 00:34:42,330 Tā nav atrast vārdu virknes failā stīgas, bet tas atrast abc. 478 00:34:42,330 --> 00:34:46,770 Un tas nav atrast to. 479 00:34:46,770 --> 00:34:52,330 Tāpēc šeit mēs dodam argumentu, ka hits vērā definīciju alias, 480 00:34:52,330 --> 00:34:55,530 , kas ir ievietots tajā. 481 00:34:55,530 --> 00:34:58,540 Tas ir, ja šis izteiciens nāk no. 482 00:34:58,540 --> 00:35:00,240 Jūs varat izmantot vairāk nekā 1. 483 00:35:00,240 --> 00:35:03,170 Caret ir simbols pirmo argumentu. 484 00:35:03,170 --> 00:35:07,510 Ja vēlaties izmantot otru argumentu, jūs pēc tam teikt: 2. 485 00:35:07,510 --> 00:35:11,250 Nav īpašs simbols uz otro argumentu. 486 00:35:11,250 --> 00:35:14,790 Un tāpēc, ka jūs izmantojat skaitli, jums nāksies izmantot kolu. 487 00:35:14,790 --> 00:35:17,220 Tomēr ir, cita izvēle šeit. 488 00:35:17,220 --> 00:35:21,220 Dolāra zīmi apzīmē pēdējo argumentu. 489 00:35:21,220 --> 00:35:23,320 Un tāpēc, ka tas ir simbols, jūs varat izlaist kolu. 490 00:35:23,320 --> 00:35:25,870 Lai tas būtu pēdējais arguments sarakstā. 491 00:35:25,870 --> 00:35:27,900 Un tur ir arī tas, ka viens. 492 00:35:27,900 --> 00:35:31,380 Zvaigznīte nozīmē visu, tāpēc tas ir pilnīgs argumentu saraksts, 493 00:35:31,380 --> 00:35:35,150 un atkal, jūs varat izlaist kolu, jo tas nav cipars. 494 00:35:36,970 --> 00:35:39,950 Es ceru, ka jūs visi, vērojot visu. 495 00:35:39,950 --> 00:35:54,100 >> Vēsture mehānisms var atgriezties pie iepriekšējām līnijām vēstures sarakstu. 496 00:35:54,100 --> 00:36:01,370 Jūs varētu darīt to alias definīcijā. 497 00:36:01,370 --> 00:36:02,950 Es nekad neesmu redzējis šo darīts. 498 00:36:02,950 --> 00:36:05,840 Tas būtu sekas izvelkot iepriekšējās komandas no vēstures saraksta 499 00:36:05,840 --> 00:36:08,130 kad jūs izpildīt alias, kas varētu būt dažādas komandas 500 00:36:08,130 --> 00:36:11,240 atkarībā no tā, kad un kur jūs izpildīt to. 501 00:36:11,240 --> 00:36:14,020 Atvest jūs varētu vēlēties, lai izraut šādu atsauci 502 00:36:14,020 --> 00:36:15,900 tikai zināt, ko agrāk komanda bija. 503 00:36:15,900 --> 00:36:17,280 Es nekad neesmu redzējis šo notikt. 504 00:36:17,280 --> 00:36:19,970 Es domāju, ka kāds varētu vēlēties, taču tas ir maz ticams. 505 00:36:19,970 --> 00:36:26,480 Ir vēl viena lieta šeit. 506 00:36:26,480 --> 00:36:33,060 Ja jūs izmantojat, ka vēsture tipa atsauce 507 00:36:33,060 --> 00:36:38,190 tad tikai argumenti, kuriem ir šāda norāde tiek izmantoti. 508 00:36:38,190 --> 00:36:42,180 Ja jums ir alias definīcija, kas nav izmantota vēsture tipa atsauce 509 00:36:42,180 --> 00:36:44,060 ja tas vienkārši kļūst sākums komandu 510 00:36:44,060 --> 00:36:46,520 un jums ir papildu argumenti, tad kaut ko rakstīt pēc tam 511 00:36:46,520 --> 00:36:48,450 tiks pievienota komandu. 512 00:36:48,450 --> 00:36:52,040 Šajā gadījumā, piemēram, es tikai deva tur, mēs izmantojām pirmo argumentu; 513 00:36:52,040 --> 00:36:54,610 mēs neizmantoja nekādus citus. 514 00:36:54,610 --> 00:36:57,960 Ja citi argumenti tika dota uz komandrindas, tie nedrīkst lietot. 515 00:36:57,960 --> 00:37:04,630 Tātad, ja jūs izmantojat vēstures atsauci vispār, tad jums ir to izmantot, lai saņemtu jebkuru argumentu. 516 00:37:04,630 --> 00:37:11,310 >> Ir vēl viena lieta, ko šeit es tikai gribu pieminēt, daļēji, iekavās, 517 00:37:11,310 --> 00:37:15,250 proti, ka šī vēsture mehānisms ar izsaukuma zīmi 518 00:37:15,250 --> 00:37:18,010 iet atpakaļ uz sākotnējo C-čaumalu. 519 00:37:18,010 --> 00:37:27,060 Tcsh ieviesa vēstures darbību 520 00:37:27,060 --> 00:37:30,910 kas izmanto veidu komandām un stīgas no redaktoriem, 521 00:37:30,910 --> 00:37:33,650 nu Emacs vai vi. 522 00:37:33,650 --> 00:37:36,430 Mans personīgais viedoklis ir Emacs ir daudz vieglāk izmantot šim nolūkam 523 00:37:36,430 --> 00:37:39,390 pat ja jūs izmantojat vi jūsu regulāri rediģēšanai. 524 00:37:39,390 --> 00:37:43,900 Ir dažādi Emacs komandas, kas tagad ir pielāgoti vēsturē. 525 00:37:43,900 --> 00:37:46,410 Control P saņem iepriekšējo līniju vēstures sarakstā. 526 00:37:46,410 --> 00:37:48,840 Vēl viens Control P kļūs jums vienu pirms tam. 527 00:37:48,840 --> 00:37:50,540 Up arrow tas pats. 528 00:37:50,540 --> 00:37:54,190 Control N saņem nākamo komandu, ja jūs esat jau ritināt atpakaļ dažus veidus. 529 00:37:54,190 --> 00:37:55,880 Down arrow tas, ka pārāk. 530 00:37:55,880 --> 00:38:00,480 Jūs varat pārvietoties no kreisās uz labo ar bultām un dažādas citas lietas. 531 00:38:00,480 --> 00:38:02,390 To var izmantot no vēstures mehānisma 532 00:38:02,390 --> 00:38:05,070 ir daudz vieglāk, nekā izmantojot izsaukuma zīmi sintaksi, 533 00:38:05,070 --> 00:38:07,930 bet jūs nevarētu lietot, ka alias definīcijā. 534 00:38:17,780 --> 00:38:20,020 Mēs iet pār kādu citu reizi. 535 00:38:24,300 --> 00:38:25,810 >> Mainīgie. 536 00:38:26,880 --> 00:38:29,510 Jūs zināt, kādi mainīgie ir programmēšanas valodām. 537 00:38:29,510 --> 00:38:31,680 Čaumalas ir viņiem arī. 538 00:38:31,680 --> 00:38:37,350 C-čaulas izmanto komandu, kas, lai piešķirtu mainīgos, 539 00:38:37,350 --> 00:38:41,360 tā, ka nosaka variable ar vērtību B - 540 00:38:41,360 --> 00:38:46,390 kā jau teicu, ir bezjēdzīgi definīcija, bet piemērs tam, kā tas tiek izmantots. 541 00:38:48,790 --> 00:38:52,410 Komplekts komanda radīs mainīgo, ja tas jau nav. 542 00:38:55,270 --> 00:39:02,490 Pozicionālās parametri čaulas skriptus var uzskatīt mainīgie, 543 00:39:02,490 --> 00:39:10,750 bet no tām izmantot un noteikumi par tiem ir nedaudz atšķirīgi. 544 00:39:10,750 --> 00:39:14,320 Jūs nevarat piešķirt vērtību līdz $ 1 gaitā skriptu. 545 00:39:14,320 --> 00:39:18,340 Jums būtu definēt jaunu mainīgo šim nolūkam, ja daži no jums gribēja. 546 00:39:23,000 --> 00:39:28,470 Tipam, kura bez argumentiem, un jūs saņemsiet sarakstu ar visiem šobrīd definētajiem mainīgajiem. 547 00:39:28,470 --> 00:39:34,220 Un pieņemsim nokļūt pār manu citu čaumalu šeit un redzēt, ko mēs saņemam, ja mēs to darām. 548 00:39:34,220 --> 00:39:37,110 Diezgan garš saraksts tur, labi? 549 00:39:37,110 --> 00:39:40,990 Ritinātu uz augšu mazliet. Apskatīt visu. 550 00:39:40,990 --> 00:39:44,330 Dažas no šīm lietām ir definēti automātiski čaumalu. 551 00:39:44,330 --> 00:39:49,320 Apvalks rada mainīgo un piešķir tai vērtību. 552 00:39:49,320 --> 00:39:52,730 Dažas no tām ir noteikts korpusam, bet pēc tam no jauna lietotājs 553 00:39:52,730 --> 00:39:54,820 saskaņā ar viņa vēlmēm. 554 00:39:54,820 --> 00:39:59,110 Un daži no tiem ir izveidojis lietotājs atkarībā no tā, ko viņš dara, ka dienā. 555 00:39:59,110 --> 00:40:01,880 Tas ir tikai noteikts bez argumentiem. 556 00:40:06,920 --> 00:40:10,050 Tur ir nepāra iezīme šeit ir šī lieta. 557 00:40:10,050 --> 00:40:17,980 Tur jābūt vai nu nav atstarpes starp vienlīdzības zīmi un mainīgā nosaukums 558 00:40:17,980 --> 00:40:23,700 un vērtība vai telpas abās pusēs vienāds parakstīt 559 00:40:23,700 --> 00:40:28,940 kā šī. 560 00:40:35,620 --> 00:40:41,340 Tas nav darbs, un tas patiesībā ir derīgs komanda 561 00:40:41,340 --> 00:40:43,390 bet tas nav darīt to, ko jūs domājat. 562 00:40:43,390 --> 00:40:50,070 Ka komanda būs darbs, jo, ja jūs vienkārši teikt iestatīt un mainīgā nosaukums 563 00:40:50,070 --> 00:40:54,890 ar nav vienādības zīmes vai noteikt un mainīgā vārds ar vienādības zīme un nav vērtības, 564 00:40:54,890 --> 00:40:57,770 tas noteikti mainīgo Null vērtību. 565 00:40:57,770 --> 00:41:00,120 Tātad, kas A = ir derīgs komanda. 566 00:41:00,120 --> 00:41:04,370 Komplekts komandu var noteikt vairāk nekā 1 mainīgais uz vienas līnijas. 567 00:41:04,370 --> 00:41:11,240 Tāpēc šī komanda šeit ir sekas definēt gan A un B vērtības Null. 568 00:41:11,240 --> 00:41:13,470 Droši vien nav tas, ko jūs vēlaties. 569 00:41:13,470 --> 00:41:17,940 Te viens, minēts iepriekš, novedīs pie kļūdas 570 00:41:17,940 --> 00:41:21,270 jo b = nav derīgs izpausmes. 571 00:41:21,270 --> 00:41:23,680 Mainīgā nosaukums nedrīkst sākties ar vienlīdzības zīme. 572 00:41:26,760 --> 00:41:29,080 Un tur ir šie papildu lietas šeit. 573 00:41:29,080 --> 00:41:36,820 The kolonnas tika izmantoti, lai izvēlētos argumentus no vēstures līnijas, 574 00:41:36,820 --> 00:41:41,210 , un tos var izmantot - un man nebija iedziļināties agrāk - mainīt tās lietas. 575 00:41:41,210 --> 00:41:44,480 Tos var arī izmantot, lai mainītu apvalks mainīgos. 576 00:41:44,480 --> 00:41:49,050 Te viens, $, ir vērtība. 577 00:41:49,050 --> 00:41:55,040 : R pacelšanās pagarinājumu. 578 00:41:55,040 --> 00:41:57,200 Pagarinājums būs kaut kas pēc dot, 579 00:41:57,200 --> 00:41:59,200 dot un kaut kas pēc to beigās failu, 580 00:41:59,200 --> 00:42:03,230 tikai beigās sarakstu pēc tam, kad pēdējā slash. 581 00:42:03,230 --> 00:42:05,480 Tāpēc esmu šeit. 582 00:42:05,480 --> 00:42:10,730 ir tā, ka. Tā kritīsies. O. 583 00:42:10,730 --> 00:42:16,510 Ja nav pagarinājums, tikai pathnames pēc pēdējās slīpsvītra, tas nav spēkā. 584 00:42:16,510 --> 00:42:27,480 : h, ka mainīgā izteiksme, pacelšanās pēdējo elementu direktoriju sarakstu, 585 00:42:27,480 --> 00:42:29,660 atkal, tikai pēc tam, kad pēdējā slash. 586 00:42:29,660 --> 00:42:33,160 Tātad / / b / c kļūst / a / b, 587 00:42:33,160 --> 00:42:38,870 bet tas viens ir mainījusies, jo elements pēc saraksta ir nulle. 588 00:42:38,870 --> 00:42:43,070 Te ir kaut kas, ko es arī gribu uzsvērt. 589 00:42:43,070 --> 00:42:46,770 Šīs kvalifikācijas nav meklēt esamību šiem failiem. 590 00:42:46,770 --> 00:42:48,910 Viņi vienkārši meklē stīgas. 591 00:42:48,910 --> 00:42:54,520 Tie ir paredzēti, lai manipulētu failu nosaukumus, pathnames, 592 00:42:54,520 --> 00:42:57,520 bet tās var izmantot jebkurā stīgu, pat tad, ja tas nav faila nosaukumu. 593 00:42:57,520 --> 00:42:58,920 Un tie nav meklēt esamību, 594 00:42:58,920 --> 00:43:03,550 tāpēc, ja nav šādu failu, / / ​​b / c, tas joprojām strādā. 595 00:43:03,550 --> 00:43:06,930 Vai tas ir jebkādu izmantošanu, ir cits jautājums, bet tas joprojām strādā. 596 00:43:06,930 --> 00:43:12,850 Mainīgie ir atšķirīgi Bourne čaulas. Mēs nokļūt, ka vēlāk. 597 00:43:12,850 --> 00:43:18,240 Dolāra zīmi var izbēguši tāpat kā izsaukuma zīme un zvaigznīti. 598 00:43:18,240 --> 00:43:21,760 Dolāra zīmi var izbēguši ar slīpsvītru vai vienu pēdiņām. 599 00:43:21,760 --> 00:43:24,790 Pēdiņas ir nepāra spēkā visās čaumalām 600 00:43:24,790 --> 00:43:28,690 piespiežot novērtēšanu dolāra zīmi mainīgo izteiksmi. 601 00:43:28,690 --> 00:43:31,960 Tātad, ja tas tiek izbēguši viens veids, kā pēdiņas var būt sekas 602 00:43:31,960 --> 00:43:34,380 izraisīt to jāizvērtē anyway. 603 00:43:34,380 --> 00:43:37,090 Tas ir nedaudz mulsinoši. 604 00:43:37,090 --> 00:43:43,740 Ja ir vairāki līmeņi izvairīties, piemēram, pēdiņas iekšā pēdiņās 605 00:43:43,740 --> 00:43:46,770 vai pēdiņas iekšpusē pēdiņas, jums vajadzētu pārbaudīt, lai redzētu, kas notiks 606 00:43:46,770 --> 00:43:49,520 mainīgā, ja jūs izmantojat vienu. 607 00:43:49,520 --> 00:43:53,410 Šie 2 gadījumi - dubultā iekšpusē viena, vienota iekšpusē dubultā - 608 00:43:53,410 --> 00:43:55,980 ne vienmēr dod jums to pašu rezultātu. 609 00:44:02,520 --> 00:44:05,600 Vides mainīgos, kas sasieti C-čaulas mainīgie. 610 00:44:05,600 --> 00:44:08,340 Vides mainīgos ir arī mainīgie C-čaulas, 611 00:44:08,340 --> 00:44:11,250 un tie arī mainīgie citās čaulas too. 612 00:44:11,250 --> 00:44:15,230 C-čaulas, tie ir atšķirīgi kopas. 613 00:44:15,230 --> 00:44:18,130 Lietas, es jau teicu, pirms ir par korpusa mainīgie. 614 00:44:18,130 --> 00:44:21,300 Vides mainīgos ir atšķirīgas mainīgo lielumu kopums 615 00:44:21,300 --> 00:44:28,650 izņemot vairākiem mainīgajiem, kuru mēs saucam saistošs mainīgie, 616 00:44:28,650 --> 00:44:30,640 kas ir ļoti svarīgi, un mēs nokļūt tiem vēlāk. 617 00:44:30,640 --> 00:44:34,950 Vides mainīgie tiek automātiski nodoti 618 00:44:34,950 --> 00:44:41,800 ar apvalku vai komandas, kas darbojas no savas čaulas. 619 00:44:41,800 --> 00:44:46,220 Citas lietas nav. Shell mainīgie, pseidonīmi nav. Vides mainīgos ir. 620 00:44:46,220 --> 00:44:48,630 Tieši tāpēc mēs tos saucam vides mainīgos, 621 00:44:48,630 --> 00:44:55,030 Ideja ir tāda, ka vide paplašina pagātnes tikai jūsu pašreizējo čaumalu. 622 00:44:55,030 --> 00:45:00,510 Tos var izmantot, lai noteiktu lietas komandas. 623 00:45:00,510 --> 00:45:05,470 Lūk, piemērs. PRINTER, LPDEST. 624 00:45:05,470 --> 00:45:12,270 Abi no šiem mainīgajiem var noteikt printeri, komanda izmantos, lai drukāt lietas. 625 00:45:12,270 --> 00:45:16,500 Ja jums ir vairāki printeri apkārt, jūs varētu vēlēties, lai vienu jums patīk. 626 00:45:16,500 --> 00:45:21,320 Iemesls mums ir 2 mainīgie ir tas, ka tika rakstīti dažādi komplekti komandu 627 00:45:21,320 --> 00:45:23,870 Izmantojot šos dažādos mainīgos lielumus. 628 00:45:23,870 --> 00:45:25,910 Jūs varētu dot viņiem dažādas vērtības. 629 00:45:25,910 --> 00:45:28,860 Visticamāk, jums dot viņiem gan pašu vērtību. 630 00:45:28,860 --> 00:45:35,840 Šīs lietas strādā, jo komandas, kas darīt drukāšanu 631 00:45:35,840 --> 00:45:40,740 tika ieprogrammēts, lai pārbaudītu šo mainīgo vērtības. 632 00:45:42,200 --> 00:45:46,150 Ja programma nav rakstīts, ka veidā, ja tas ir rakstīts, lai darīt kaut ko citu, 633 00:45:46,150 --> 00:45:48,280 mainīgais nebūtu nozīmes. 634 00:45:48,280 --> 00:45:52,530 Tā operētājsistēma nav meklē šo mainīgo lielumu 635 00:45:52,530 --> 00:45:55,210 katru reizi, kad jūs atsaukties uz printeri. 636 00:45:55,210 --> 00:45:59,090 Komanda, kas nav iespiešana meklē šo mainīgo lielumu, ja tas ir ieprogrammēts, ka veidā. 637 00:46:11,030 --> 00:46:15,240 Šie mainīgie bieži tiek definēti jūsu inicializācijas failus 638 00:46:15,240 --> 00:46:19,440 bet ne vienmēr. 639 00:46:19,440 --> 00:46:21,050 Jūs varat definēt tos komandrindu. 640 00:46:21,050 --> 00:46:24,090 Tie var būt noteikts komandu. 641 00:46:24,090 --> 00:46:28,740 Komanda, kas darbojas kaut varētu būt sava izvēle mainīgie - 642 00:46:28,740 --> 00:46:32,390 mainīgie lielumi, kas ir unikāli īpašu programmatūru, piemēram,. 643 00:46:32,390 --> 00:46:36,740 Tās tiks definētas palaižot šo paketi. 644 00:46:39,690 --> 00:46:42,680 Kā šie mainīgie nodoti sub-shell? 645 00:46:42,680 --> 00:46:48,210 Kad sub-čaulas ir rakstīts, tas nav rakstīt uz šajā jomā. 646 00:46:48,210 --> 00:46:53,260 Apakšpasākuma apvalks, kas veltīta vides mainīgajiem area 647 00:46:53,260 --> 00:46:56,450 nav rakstīts ar sub-čaulas, tas ir rakstīts ar kopēšanu. 648 00:46:56,450 --> 00:47:00,530 Palaižot parastu komandu, piemēram, šīs komandas, lai drukātu vai kāds, 649 00:47:00,530 --> 00:47:03,840 viņi sāk off, izveidojot jaunu apvalks. 650 00:47:03,840 --> 00:47:06,190 Apvalks rada čaulas un tad pārraksta daļu no tā 651 00:47:06,190 --> 00:47:08,800 ar komandu, ka jūs lietojat, kas ir nedaudz mulsinoši, 652 00:47:08,800 --> 00:47:10,740 bet tas, kā šīs komandas iegūt vides mainīgos 653 00:47:10,740 --> 00:47:14,890 ka viņi tad uz vēlāk. 654 00:47:21,920 --> 00:47:28,010 Komanda šeit, lai definētu mainīgo setenv. 655 00:47:28,010 --> 00:47:36,470 Tas ir, kā jūs to definēt. Tas ir 3 elementi: setenv, mainīgās, vērtības. 656 00:47:36,470 --> 00:47:44,710 Ja jūs vienkārši setenv bez argumentiem, ko jūs saņemsiet? 657 00:47:47,220 --> 00:47:48,810 Saraksts ar visiem šiem mainīgajiem. 658 00:47:48,810 --> 00:47:53,190 Atkal, tas ir jauki, garš saraksts, un šajā gadījumā, tāpat kā citiem, 659 00:47:53,190 --> 00:47:57,320 Šie mainīgie ir definēti lielākoties mana pieteikšanās operācijai čaumalu pati 660 00:47:57,320 --> 00:47:59,740 nevis kaut ko es darīju. 661 00:47:59,740 --> 00:48:03,580 Tur ir cita komanda šeit, printenv. 662 00:48:07,520 --> 00:48:10,340 , Kas arī izdrukā vidi. 663 00:48:10,340 --> 00:48:15,240 Pamanīt šo pēdējo lieta šeit, redaktors = vi. 664 00:48:15,240 --> 00:48:21,120 Kas saka, ka, ja es esmu, izmantojot kaut ko, kas prasa redaktors 665 00:48:21,120 --> 00:48:25,530 un es nedomāju, norādiet redaktoru, un tas ļauj man izvēlēties, tas var dot man vi. 666 00:48:25,530 --> 00:48:37,280 Ko darīt, ja es daru printenv Editor? Tas stāsta man, kas tas ir. 667 00:48:37,280 --> 00:48:41,340 Tieši pirms tam, ir bijis mainīgs, mazāk. 668 00:48:41,340 --> 00:48:46,040 Tie ir jūsu nepildīšanu iespējas, kad es palaist jo mazāk komandu, 669 00:48:46,040 --> 00:48:49,360 kas parāda failus. 670 00:48:49,360 --> 00:48:55,910 Tātad, ja es daru to, printenv var veikt 1 argumentu vai 0 argumentus, 671 00:48:55,910 --> 00:48:58,070 ne vairāk kā 1. 672 00:49:01,800 --> 00:49:05,690 Ir arī citas komandas arī, bet mēs nebrauksim iekļūt visu, kas šodien. 673 00:49:05,690 --> 00:49:11,010 Bāri bija modifikatori korpusam mainīgajiem, piemēram: h, 674 00:49:11,010 --> 00:49:14,350 kas būs piliens pēdējo elementu, ceļavārdiem, 675 00:49:14,350 --> 00:49:17,950 vai: r, kas būs piliens pagarinājumu. 676 00:49:17,950 --> 00:49:23,110 Tie, tagad attiecas uz vides mainīgos too. Viņi nav pieraduši. 677 00:49:23,110 --> 00:49:24,960 To izmanto, lai būt tie nevar mainīt. Tagad viņi var būt. 678 00:49:24,960 --> 00:49:29,190 Tas ir viens no avansa ar attīstību čaumalas gadu gaitā. 679 00:49:29,190 --> 00:49:35,620 Es jau teicu, ka čaumalas kā daļa no vides 680 00:49:35,620 --> 00:49:43,040 un korpusa mainīgie C-čaulas ir, ar dažiem izņēmumiem, atšķirīgas komplekti. 681 00:49:43,040 --> 00:49:46,790 Jūs varat izveidot vides mainīgo un apvalks mainīgo ar tādu pašu nosaukumu. 682 00:49:46,790 --> 00:49:49,220 Tie būs dažādi mainīgie, tās var būt dažādas vērtības. 683 00:49:49,220 --> 00:49:53,090 Vērtību one mainot nemaina vērtību otru. 684 00:49:53,090 --> 00:49:58,070 Šie mainīgie ir visi novērtēti ar dolāra zīmi - $, $ neatkarīgi. 685 00:49:58,070 --> 00:50:02,340 Tātad, ko tad, ja jums ir šis? Vai jūs zināt, kurš no jums? 686 00:50:02,340 --> 00:50:04,520 Manā testus Man korpusa mainīgo, 687 00:50:04,520 --> 00:50:07,240 bet tas nav dokumentēta, un jūs nevarat paļauties uz to. 688 00:50:07,240 --> 00:50:10,270 Tāpēc es aicinu jūs, rada čaumalas un vides mainīgos 689 00:50:10,270 --> 00:50:13,490 ar vienādiem nosaukumiem laba ideja? Nē Labi. 690 00:50:13,490 --> 00:50:17,460 Kas ir tie galvenie izņēmumi, kas videi un korpusa mainīgie 691 00:50:17,460 --> 00:50:19,860 ir saistīti viens ar otru? 692 00:50:19,860 --> 00:50:27,470 Tur ir tie 4. 693 00:50:32,030 --> 00:50:35,510 Lielais burts TERM vides mainīgo, 694 00:50:35,510 --> 00:50:41,540 apvalks mainīgo terminu mazajiem burtiem, termināļa emulāciju veidam. 695 00:50:41,540 --> 00:50:47,430 Es esmu tikai gatavojas iet vairāk nekā šeit, un es esmu gatavojas darīt, atbalss, noderīgu komandu šeit 696 00:50:47,430 --> 00:50:52,560 $ TERM $ termiņš. Un tur. 697 00:50:52,560 --> 00:51:00,570 xterm ir termināls tipa logiem parādīto x Window System. 698 00:51:00,570 --> 00:51:04,330 xterm krāsu ir variācija, kas, kas ļauj dažādas krāsas. 699 00:51:04,330 --> 00:51:06,580 Kāpēc mēs definējam šiem? Kas ir tas labs? 700 00:51:06,580 --> 00:51:09,740 Komandas, kas pārkārtot piemēram redaktoru ekrānu 701 00:51:09,740 --> 00:51:13,680 sūtīt īpašas secības, ko sauc par evakuācijas sekvences, 702 00:51:13,680 --> 00:51:18,160 uz terminālu, vai loga pārkārtot, un tā tālāk. 703 00:51:18,160 --> 00:51:20,990 Šie sekvences ir atšķirīgi dažādiem termināliem. 704 00:51:20,990 --> 00:51:23,100 Šī stāsta to, kādi izmantot. 705 00:51:23,100 --> 00:51:25,900 Dažreiz ir problēmas tur. 706 00:51:25,900 --> 00:51:28,600 Jūs varētu vēlēties, lai mainītu to. 707 00:51:28,600 --> 00:51:30,780 Ja lietas nav darba, dažreiz termināls veids ir noteikts nepareizi, 708 00:51:30,780 --> 00:51:36,440 Jūs, iespējams, var noteikt to, no jauna definējot terminu mainīgo. 709 00:51:36,440 --> 00:51:43,420 Šādos gadījumos, mainot vienu mainīgo, vides mainīgo vai korpusa mainīgo, 710 00:51:43,420 --> 00:51:45,970 jānomaina otru. 711 00:51:45,970 --> 00:51:50,970 Esmu atklājis, izmantojot pieredzi, kas mainās termins lielajiem burtiem 712 00:51:50,970 --> 00:51:54,060 ne vienmēr mainīt čaulas mainīgo terminu mazajiem burtiem. 713 00:51:54,060 --> 00:51:55,550 Tas ir kļūda. 714 00:51:55,550 --> 00:51:59,400 Es nezinu, vai tas vienmēr ir taisnība. Lielāko daļu laika tas nav taisnība, bet tas var būt. 715 00:51:59,400 --> 00:52:02,490 Tātad, ja jūs veikt izmaiņas, vienkārši pārbaudīt, ka out. 716 00:52:02,490 --> 00:52:05,830 Tas nav bieži, ka jums ir nepieciešams, lai mainītu šo vērtību, bet vienu reizi, bet jūs darāt. 717 00:52:05,830 --> 00:52:08,260 Vides mainīgais USER. 718 00:52:08,260 --> 00:52:12,070 Atkal, vides mainīgais ar lielajiem burtiem, apvalks mainīgais mazajiem burtiem. 719 00:52:12,070 --> 00:52:13,710 Šis ir jūsu lietotājvārds. 720 00:52:13,710 --> 00:52:16,730 Tas ir tikai īpašos izņēmuma gadījumos 721 00:52:16,730 --> 00:52:18,420 ka jūs vēlaties to mainīt. 722 00:52:18,420 --> 00:52:22,350 Ja jūsu lietotājvārds ir kāds cits, tas var mest visu veidu lietas off. 723 00:52:22,350 --> 00:52:26,040 Mājas direktoriju, lietotāja mājas direktorija. 724 00:52:26,040 --> 00:52:28,060 Atkal, jūs negribētu to mainīt. 725 00:52:28,060 --> 00:52:32,260 Paziņojuma visos šajos gadījumos, un viens, ka mēs esam par to, lai segtu ceļa mainīgo, 726 00:52:32,260 --> 00:52:37,070 vides mainīgais ir ar lielajiem burtiem un robežu apvalks mainīgais ir mazajiem burtiem. 727 00:52:37,070 --> 00:52:39,240 Ja maināt vienu, jums vajadzētu mainīt otru. 728 00:52:39,240 --> 00:52:45,960 Šo saistošo veida nevar noteikt, jo jūs nevarat saistīt 2 mainīgie, 729 00:52:45,960 --> 00:52:50,570 izņemot tos 4, un saistošais šajās mainīgajiem nevar atsaukt, 730 00:52:50,570 --> 00:52:52,090 Jūs nevarat tos atdala. 731 00:52:52,090 --> 00:52:55,820 Tātad šie 4 pāri mainīgajiem ir saistoši. 732 00:52:55,820 --> 00:52:59,020 Viņi vienmēr būs. Neviens citi būs. 733 00:52:59,020 --> 00:53:05,720 Turklāt tas būtu iespējams izveidot mainīgie ar tiem pašiem nosaukumiem 734 00:53:05,720 --> 00:53:07,780 no pretējām veidiem. 735 00:53:07,780 --> 00:53:11,600 Jūs varētu veikt shell mainīgo terminu maziem burtiem 736 00:53:11,600 --> 00:53:14,990 vai vides mainīgais termins lielajiem burtiem. 737 00:53:14,990 --> 00:53:19,040 Šie mainīgie lielumi būtu neatkarīga no šiem pārī mainīgajiem 738 00:53:19,040 --> 00:53:20,780 un tie būtu neatkarīgi viens no otra. 739 00:53:20,780 --> 00:53:23,780 Es nevaru iedomāties, kāpēc jūs varētu darīt, ja jūs vēlaties, lai maldinātu cilvēkus. 740 00:53:24,600 --> 00:53:29,730 Šis ceļš mainīgais vienu šeit, tas ir ļoti svarīgs. 741 00:53:29,730 --> 00:53:35,550 Vēl viena lieta šeit ir tas, ka var būt gadījumi 742 00:53:35,550 --> 00:53:40,430 Mainīgo ar līdzīgu Pārī savienotās nosaukumiem, kas nav saistītas ar otru. 743 00:53:40,430 --> 00:53:45,000 Tur var būt mainīgie, SHELL un apvalks, ar lielajiem un mazajiem burtiem. 744 00:53:45,000 --> 00:53:48,300 Pamatojoties uz šo vārdu, jūs nezināt, ja tas mainīgais ir apvalks mainīgs 745 00:53:48,300 --> 00:53:51,580 vai vides mainīgais, un tie nav saistīts ar otru. 746 00:53:51,580 --> 00:53:55,300 Tātad šāda veida pārī nosaukumi nenozīmē saistošs mainīgie. 747 00:53:55,300 --> 00:53:58,830 Ceļš mainīgais, kas man rādīja iepriekš, 748 00:53:58,830 --> 00:54:01,880 ir saraksts pathnames, kurā apvalks meklē komandas. 749 00:54:01,880 --> 00:54:12,320 Iesim pa šo logu šeit, un mēs darīsim echo $ PATH, lielos burtus - 750 00:54:12,320 --> 00:54:20,230 vides mainīgais - echo $ ceļu, mazie burti - apvalks mainīgs. 751 00:54:20,230 --> 00:54:24,980 Paziņojums, ka saraksts abonentu ir tāda pati. Tie ir saistoši. 752 00:54:24,980 --> 00:54:26,590 Mainīt vienu, maināt otru. 753 00:54:26,590 --> 00:54:32,970 In vides mainīgo elementi ir atdalīti ar kolonnas. Paziņojums, ka. 754 00:54:32,970 --> 00:54:35,130 Shell mainīgie ir atdalīti ar atstarpēm. 755 00:54:35,130 --> 00:54:38,760 Šis vides mainīgais ir viena virkne. 756 00:54:38,760 --> 00:54:41,480 Apvalks mainīgais ir masīvs. 757 00:54:41,480 --> 00:54:43,490 Bourne shell nebija bloki. 758 00:54:43,490 --> 00:54:46,600 Bash dara, bet tas jau ir noteikta daļa no korpusa. 759 00:54:46,600 --> 00:54:48,660 Šī ir viena virkne, nevis masīvs. 760 00:54:48,660 --> 00:54:50,420 C-shell vienmēr ir bijusi masīvi. 761 00:54:50,420 --> 00:54:52,630 Masīvi ir daudz vieglāk strādāt. 762 00:54:52,630 --> 00:54:54,400 Jūs varat atsaukties uz tā daļām. 763 00:54:54,400 --> 00:55:02,350 Tāpēc echo $ ceļš [1], un man / usr / bin, pirmais elements. 764 00:55:02,350 --> 00:55:09,950 Atkal, atcerieties, dolāra zīmi apzīmē pēdējo elementu vēstures sarakstu. 765 00:55:09,950 --> 00:55:16,850 Kas notiek tur? Tā centās atrast dolāra zīmi kā mainīgo simbolu. 766 00:55:16,850 --> 00:55:20,850 Es izvairīties no tā. Hmm. Tas nav ņemts, ka vai nu. 767 00:55:20,850 --> 00:55:23,690 Dažas no šīm lietām nedarbojas tik labi. 768 00:55:23,690 --> 00:55:28,140 Varbūt mēs vienkārši atstāt, ka out. 769 00:55:28,140 --> 00:55:36,980 Zvaigznīte attiecas uz visa lieta, bet tas, ko jūs saņemsiet, ja jums nav jānorāda elements. 770 00:55:36,980 --> 00:55:46,170 Vēl viens veids, ka masīvs mainīgie var manipulēt, 771 00:55:46,170 --> 00:55:49,500 elementu skaits tur, 7 elementi. 772 00:55:49,500 --> 00:55:53,410 Šeit mēs uzdodam restīte pirms mainīgā nosaukums. 773 00:55:53,410 --> 00:55:58,280 Lūk, vēl viens. Likt jautājuma zīmi tur. 774 00:55:58,280 --> 00:56:03,170 Tas ir loģiskā vērtība. Tas norāda, ka mainīgais eksistē. 775 00:56:03,170 --> 00:56:05,160 Tas ir vēl viens veids, kā strādāt ar mainīgajiem. 776 00:56:05,160 --> 00:56:06,660 , Kas, starp citu, nav jābūt masīvs mainīgs. 777 00:56:06,660 --> 00:56:08,210 Tas varētu būt jebkurš mainīgs. 778 00:56:08,210 --> 00:56:11,840 Un, ja man, tur nav tādas mainīgo un man 0. 779 00:56:11,840 --> 00:56:14,990 Vēl viena maza lieta, tur par mainīgo novērtējumu. 780 00:56:23,670 --> 00:56:32,950 Atpakaļ uz šo vienu šeit, ja kāda iemesla dēļ jūs vēlētos strādāt ar šo 781 00:56:32,950 --> 00:56:37,990 nevis strādāt ar masīva, apvalks mainīgs, 782 00:56:37,990 --> 00:56:41,470 ir komandas, kuras var atdalīt lietas, pamatojoties uz resnās zarnas. 783 00:56:41,470 --> 00:56:44,080 Patiesībā, ja jūs gatavojas darīt to bash čaumalu, iespējams, 784 00:56:44,080 --> 00:56:47,110 sava veida skriptu, kas būtu iespējams, kā jūs varētu darīt to. 785 00:56:47,110 --> 00:56:50,350 Bet C-čaumalu tas ir daudz vieglāk izmantot masīvu. 786 00:56:50,350 --> 00:56:58,250 Jo Bourne Shell, mainīgie piešķir vienu izteiksmi, piemēram, tas, 787 00:56:58,250 --> 00:57:01,760 tāpat kā jūs, iespējams, piešķir mainīgo programmēšanas valodā, 788 00:57:01,760 --> 00:57:05,110 un šeit nedrīkst būt atstarpes. 789 00:57:05,110 --> 00:57:09,110 Tas ir nepieciešams, ka tas ir tikai 1 virkne. 790 00:57:09,110 --> 00:57:14,980 In Bourne tipa korpusiem, visi mainīgie ir čaulas mainīgie. 791 00:57:14,980 --> 00:57:19,250 Vides mainīgos ir apakškopa no korpusa mainīgie. 792 00:57:19,250 --> 00:57:24,060 Tie atšķiras no ne-vides mainīgos, eksportējot. 793 00:57:24,060 --> 00:57:28,860 Komandu, lai to izdarītu, ir eksports, piemēram, eksporta printeri. 794 00:57:28,860 --> 00:57:34,930 Ja mums būtu jādefinē šādu mainīgo, 795 00:57:34,930 --> 00:57:38,480 ja mēs vēlējāmies drukas komandu, lai atrastu to, būtu jābūt vides mainīgo, 796 00:57:38,480 --> 00:57:40,730 un tas, kā mēs to vienu. 797 00:57:40,730 --> 00:57:42,090 Lūk, tur ir kaut kas, sava veida mulsinoši. 798 00:57:42,090 --> 00:57:50,430 Šī izteiksme, eksports uz vidi, izriet no šīs Bourne Shell koncepciju, 799 00:57:50,430 --> 00:57:54,520 un tomēr, ka ekspresijas lieto aprakstos C-apvalks, 800 00:57:54,520 --> 00:57:57,920 ja ir tāda komanda nav par eksportu. 801 00:57:57,920 --> 00:58:06,200 Ja jūs vienkārši pateikt eksporta ar sevi, jūs saņemsiet sarakstu ar eksportēti - 802 00:58:06,200 --> 00:58:10,620 Tātad, ja es vienkārši eksportēt šeit, nav tādas lietas. 803 00:58:13,620 --> 00:58:15,200 Labi, ka mēs ejam. 804 00:58:15,200 --> 00:58:17,010 Šīs lietas, starp citu, arī nosaka čaumalu. 805 00:58:17,010 --> 00:58:19,400 Man nav noteikt kādu no šiem ar sevi. 806 00:58:19,400 --> 00:58:23,550 Apvalks dara visādas lietas par sevi. 807 00:58:23,550 --> 00:58:26,650 Tā vajadzētu darīt lietas automātiski. 808 00:58:30,240 --> 00:58:36,880 Bash vai Korn čaumalu, jūs varat palaist komandu, piemēram, tas, 809 00:58:36,880 --> 00:58:42,000 kas gan dot dažādu vērtību un eksportēt 1 komandu. 810 00:58:42,000 --> 00:58:46,150 Jo Bourne Shell tiem jābūt atsevišķas komandas, piemēram, eksportēt. 811 00:58:46,150 --> 00:58:48,410 Šeit ir vēl viens aspekts, kas ir mulsinoši. 812 00:58:48,410 --> 00:58:52,220 Komplekts komandu C-shell definē mainīgos 813 00:58:52,220 --> 00:58:55,550 un bez argumentiem stāsta jums to, ko mainīgie lielumi "vērtības. 814 00:58:55,550 --> 00:59:01,140 Jo Bash čaumalu, komplekts komanda bez argumentiem nav tas pats, 815 00:59:01,140 --> 00:59:03,580 bet ar argumentiem, ko tā dara kaut ko pavisam citu. 816 00:59:03,580 --> 00:59:06,200 Tātad šie ir dažādi argumenti šeit. 817 00:59:06,200 --> 00:59:10,460 Daži no tiem ir vides mainīgos, daži no viņiem ir čaulas mainīgie. 818 00:59:10,460 --> 00:59:13,200 Visi no tiem ir shell mainīgie tiešām. Daži no tiem ir vides mainīgos. 819 00:59:15,690 --> 00:59:23,920 Komplekts komanda ar argumentus var izmantot, lai darbotos 820 00:59:23,920 --> 00:59:28,220 par pozicionālo parametriem skriptu, 821 00:59:28,220 --> 00:59:33,910 kas ir veids, kā iegūt tos visus uzreiz. 822 00:59:33,910 --> 00:59:36,150 Mēs nevaram īsti iedziļināties, ka šodien. 823 00:59:36,150 --> 00:59:39,580 To var arī izmantot, lai mainītu shell uzvedību. 824 00:59:39,580 --> 00:59:46,700 Īpaši Bash ir mainīgie, kas nosaka, cik apvalks uzvedas. 825 00:59:46,700 --> 00:59:51,310 Tad arī tikai vienu komandu, ka jūs varētu redzēt, šī komanda. 826 00:59:51,310 --> 00:59:59,050 Typeset seko mainīgajiem un mainīgo veidi tiek izmantoti Korn un Bash korpusiem. 827 00:59:59,050 --> 01:00:04,970 Tas nav obligāti, bet tas var tikt izmantots, lai ierobežotu mainīgo lielumu vērtības, 828 01:00:04,970 --> 01:00:08,400 kas var būt noderīga, lai novērstu kļūdas, un tas ir diezgan bieži. 829 01:00:08,400 --> 01:00:11,640 Tāpēc es esmu tikai pieminēt, ka gadījumā, ja jūs redzat to kaut kur. 830 01:00:17,290 --> 01:00:19,160 Ja komanda. 831 01:00:19,160 --> 01:00:22,490 Atcerieties, es iepriekš minēju, ja komanda C-čaulas, 832 01:00:22,490 --> 01:00:28,750 kas var pateikt atrašanās vietu komandu ceļavārdiem. 833 01:00:28,750 --> 01:00:32,580 Šeit ir komanda aizvietošana. 834 01:00:32,580 --> 01:00:41,900 Jums vajadzētu atrast uz klaviatūras kaut kur raksturs, kas izskatās šādi. 835 01:00:41,900 --> 01:00:44,910 Atrašanās vietu uz klaviatūras gatavojas mainīties. 836 01:00:44,910 --> 01:00:47,050 Mēs esam sauc to backquote. Tas ir par lielumu citātu. 837 01:00:47,050 --> 01:00:48,720 Tā iet no augšējā kreisajā stūrī, lai samazinātu pa labi. 838 01:00:48,720 --> 01:00:52,690 Šeit uz mana Mac klaviatūras tā augšējā kreisajā stūrī. 839 01:00:52,690 --> 01:00:58,150 Ka raksturs var izmantot, lai izpildītu komandu robežās komandu. 840 01:00:58,150 --> 01:01:03,400 Ja jums ir izteiksmes iekšpusē backquotes, 841 01:01:03,400 --> 01:01:07,080 šis jēdziens ir komanda, tas ir darboties. 842 01:01:07,080 --> 01:01:09,010 Minētās komandas izvade 843 01:01:09,010 --> 01:01:11,980 pēc tam tiek aizvietota visai backquote izteiksmes 844 01:01:11,980 --> 01:01:16,110 iekšā ilgāku komandu, kas pēc tam iet ar šo produkciju 845 01:01:16,110 --> 01:01:22,010 kā daļu no tās virkne argumentu un tā tālāk. 846 01:01:22,010 --> 01:01:28,640 Šeit ir komanda, kas izmanto to. 847 01:01:28,640 --> 01:01:32,340 Pieņemsim pierādīt darbību šeit. 848 01:01:44,980 --> 01:01:49,090 Iesim šeit, izņemt backquotes. 849 01:01:49,090 --> 01:01:54,410 Kontrole izpaužas mani uz rindas sākumā ar Emacs rediģēšanas sintaksi. 850 01:01:54,410 --> 01:02:00,380 Līdz šim pathnames ir tas, ja nav, 851 01:02:00,380 --> 01:02:05,040 bet, kad es to darīt, kā šis, tad tas sveces minētajā sarakstā pathnames 852 01:02:05,040 --> 01:02:08,750 vietā visā šajā backquote vārda un trašu ls-l uz tiem. 853 01:02:08,750 --> 01:02:11,120 Veida ērti, vai ne? 854 01:02:11,120 --> 01:02:14,860 Tātad, tas ir viens veikls lieta. Tas ir kā backquotes darbu. 855 01:02:14,860 --> 01:02:17,560 Tagad iet uz leju mazliet tālāk. 856 01:02:17,560 --> 01:02:22,050 Tie ir pseidonīmi. Es faktiski izmantot šo. 857 01:02:22,050 --> 01:02:26,410 Es mēģināšu, lai iegūtu šo ar 1 rediģēšanas darbību. 858 01:02:34,900 --> 01:02:36,900 Labi. 859 01:02:36,900 --> 01:02:39,630 Tagad pieņemsim redzēt, kā šīs definīcijas iznāca. 860 01:02:39,630 --> 01:02:44,930 alias LWH stāsta man, kā tas ir noteikts. 861 01:02:44,930 --> 01:02:51,210 Pamanāt, ka tas ir tikai tas, bet ārējais pēdiņām ir pacēlies 862 01:02:51,210 --> 01:02:53,750 un izsaukuma zīme ir pacēlies. 863 01:02:53,750 --> 01:02:58,940 ! *, Pilns saraksts ar visiem argumentus. 864 01:02:58,940 --> 01:03:03,580 Jo alias definīcijas tas attieksies atpakaļ, kur es varu izmantot šo. 865 01:03:03,580 --> 01:03:10,620 LWH KSH bash. Labi. 866 01:03:10,620 --> 01:03:13,960 Redzēt, kā tas darbojas? Tas ietaupa man rakstīt. 867 01:03:13,960 --> 01:03:16,440 Iesim uz augšu mazliet tikai minēt kaut ko citu šeit. 868 01:03:19,150 --> 01:03:23,120 Paziņojums šeit šos dažādos korpusiem. Es minēju pirms tam. 869 01:03:23,120 --> 01:03:36,060 CSH ir 2 vairāk nekā šeit, un tā nav / bin / elm. 870 01:03:36,060 --> 01:03:39,870 Mēs varētu izveidot ar citiem līdzekļiem, ka tie ir faktiski pats fails. 871 01:03:39,870 --> 01:03:43,150 Atcerieties, es teicu, ja jūs tipa sh jums bash. 872 01:03:43,150 --> 01:03:47,390 Ierakstiet šo un jūs saņemsiet to. 873 01:03:47,390 --> 01:03:51,730 Bet tie nav saistīti. Tie ir vienu tiem tur. 874 01:03:51,730 --> 01:03:54,910 Un tas nav sava veida failu, kas var izsaukt vēl vienu. 875 01:03:54,910 --> 01:03:59,460 Tātad tie ir atsevišķi faili, ka C-čaulas tiem ir pats fails. 876 01:03:59,460 --> 01:04:03,640 Atpakaļ uz leju šeit, otrs šeit, tas alias, 877 01:04:03,640 --> 01:04:09,090 ņemiet vērā, ka ir darbojas šī komanda, failu. 878 01:04:09,090 --> 01:04:13,810 Ka alias iet to. Fails stāsta jums faila tipu. 879 01:04:13,810 --> 01:04:20,330 Tāpēc FWH KSH bash. Labi. 880 01:04:20,330 --> 01:04:23,230 Tas ir izejas faila komandu. 881 01:04:23,230 --> 01:04:24,630 Es nezinu, ja jūs zināt, ko tas nozīmē šeit 882 01:04:24,630 --> 01:04:26,750 Mach-O universālā binārā ar 2 arhitektūrām. 883 01:04:26,750 --> 01:04:30,470 Ir 2 iespējamie procesors veidi Mac, 884 01:04:30,470 --> 01:04:34,780 un dažas programmas bija rakstīts, lai varētu darboties gan ar, 885 01:04:34,780 --> 01:04:37,950 un failu komandu var noteikt, ka, lai tas, ko tas nozīmē. 886 01:04:37,950 --> 01:04:40,660 Abi no šiem failiem bija rakstīts, ka veidā. 887 01:04:40,660 --> 01:04:43,760 Tātad, mēs redzam, cik alias darbojas, mēs redzam, cik backquote darbi, 888 01:04:43,760 --> 01:04:48,640 mēs redzam, cik faktiskie failu ls vai fails darbojas. 889 01:04:52,050 --> 01:04:57,000 Tas varētu nedarboties. Izmēģiniet ", kur kur" un "LWH kur". Labi, pieņemsim, mēģiniet to. 890 01:04:57,000 --> 01:05:01,040 kur kur. 891 01:05:01,040 --> 01:05:03,500 kur ir apvalks iebūvēts. 892 01:05:03,500 --> 01:05:06,970 Atceros agrāk mums parādīja, ka Bash nebija kur. 893 01:05:06,970 --> 01:05:10,080 Ja jūs tipa, kur bash čaumalu, jūs saņemsiet kļūdas paziņojumu. 894 01:05:10,080 --> 01:05:12,540 Tā ir tikai daļa no korpusa nevis atsevišķu komandu. 895 01:05:12,540 --> 01:05:20,000 Kas notiek, ja es tipa LWH meklē, kur? Redzēt, kas notiek tur. 896 01:05:20,000 --> 01:05:22,850 Skrēja kur kur, dabūju šo produkciju, un pēc tam mēģināja palaist ls 897 01:05:22,850 --> 01:05:25,600 kā l no tā, kur apvalks iebūvēts. 898 01:05:25,600 --> 01:05:28,790 kur ir tur, bet citi tiem nav. 899 01:05:28,790 --> 01:05:32,090 Neviens no šiem pastāv, patiesībā. 900 01:05:32,090 --> 01:05:35,560 Tā, ka tas ne vienmēr strādā, un tas arī parāda, kā dažas lietas 901 01:05:35,560 --> 01:05:39,580 nedarām gluži tas, ko jūs varētu būt doma. 902 01:05:40,930 --> 01:05:43,010 Iesim uz leju mazliet tālāk šeit. 903 01:05:44,890 --> 01:05:54,760 Tas šeit ir Bash. Tas ir arī komanda aizvietošana piemēram backquote. 904 01:05:54,760 --> 01:06:05,280 Bet atšķirībā backquote, tā izmanto šo mainīgo stilu. 905 01:06:05,280 --> 01:06:09,860 Ir vairāki izpausmes, kas sākas ar dolāra zīmi, 906 01:06:09,860 --> 01:06:16,070 un, lai gan tie nav mainīgie, viņi aizņēmās izmantošanu dolāra zīmi 907 01:06:16,070 --> 01:06:19,570 norādīt izteiksmi kādu. 908 01:06:19,570 --> 01:06:23,550 Kas var ieskauj iekavās vai skavu vai dubulto iekavās, 909 01:06:23,550 --> 01:06:26,320 , kas ir cits mērķis. 910 01:06:26,320 --> 01:06:29,500 Single iekavas šeit ir komanda aizstāšana tāpat kā backquotes. 911 01:06:29,500 --> 01:06:32,720 Dubultā iekavas faktiski aritmētiskā operācija. 912 01:06:32,720 --> 01:06:35,380 Ir sintakses, citas operācijas. 913 01:06:35,380 --> 01:06:41,520 Backquote sintakse ir pieejama Bash. 914 01:06:41,520 --> 01:06:46,780 Tomēr šī ir vēlams. Tas ir daudz vieglāk lasīt, un tas ļauj ligzdošanas. 915 01:06:46,780 --> 01:06:51,300 Jums var būt iekšā $ (komanda) citu komandu, 916 01:06:51,300 --> 01:06:54,590 kaut ko līdzīgu - 917 01:07:14,560 --> 01:07:18,210 Man sarakstu tur. 918 01:07:18,210 --> 01:07:21,670 Kas varētu strādāt, ja man bija backquote arī. 919 01:07:32,050 --> 01:07:38,470 Ko darīt, ja es gribu darīt kaut ko līdzīgu - 920 01:08:03,390 --> 01:08:06,430 Jūs, iespējams, nebūtu reāli izmantot šo komandu, 921 01:08:06,430 --> 01:08:14,160 bet šī iekšējā komanda aizstāšana atbalsis nosaukumus visus failus, kas sākas ar, 922 01:08:14,160 --> 01:08:18,229 tad tas viens iet ls-l uz šiem failiem, 923 01:08:18,229 --> 01:08:20,500 un tad tas viens tikai atbalsis produkciju. 924 01:08:21,729 --> 01:08:24,479 Jūs, iespējams, varētu to darīt, jūs vienkārši darīt to atbalsi vai ls, 925 01:08:24,479 --> 01:08:29,450 bet tas parāda, cik ligzdošanas komandu darbu. 926 01:08:29,450 --> 01:08:34,380 Tik vienkārši vēl viena iezīme šeit. 927 01:08:34,380 --> 01:08:37,450  Es ieminējos iepriekš, ka, ja jums ir, kur C-čaulas, 928 01:08:37,450 --> 01:08:42,770 tipa strādā Bourne tipa korpusiem atrašanai komandas. 929 01:08:48,939 --> 01:08:52,270 Built-in komandas, tikai to, ko es saku, ka. 930 01:08:52,270 --> 01:08:54,640 Komandas ir daļa no korpusa, piemēram, kur. 931 01:08:54,640 --> 01:08:59,880 Ja apvalks izpilda komandu, piemēram, ls, tas atrod to ar ceļu, 932 01:08:59,880 --> 01:09:03,029 uzskata, ka tās kādā direktorijā kaut kur, 933 01:09:03,029 --> 01:09:05,800 teikts, ka atmiņā, izveido jaunu apvalks, 934 01:09:05,800 --> 01:09:08,960 skan komandu ls vai kāds uz korpusa 935 01:09:08,960 --> 01:09:11,450 kur vides mainīgos jau atrodas, 936 01:09:11,450 --> 01:09:14,000 un pēc tam tā pārskaita izpildi, lai to. 937 01:09:14,000 --> 01:09:18,319 Built-in komandu, kods šai komandai ir iekšā čaulas, 938 01:09:18,319 --> 01:09:21,460 lai apvalks tikko sāk izpildot daļu no savas kodu. 939 01:09:21,460 --> 01:09:24,569 ja ir šāds komandu. Tas faktiski kļūst ātrāka. 940 01:09:24,569 --> 01:09:28,380 Tas nav lasīt kaut ko atmiņā, tas jau atmiņā. 941 01:09:28,380 --> 01:09:32,460 Built-in komandas vienmēr prevalē pār komandu ar tādu pašu nosaukumu. 942 01:09:32,460 --> 01:09:36,050 Komandas, kas ir abonentu ceļā var būt tāds pats nosaukums, 943 01:09:36,050 --> 01:09:39,090 komandas dažādās katalogi, failus dažādās katalogi. 944 01:09:39,090 --> 01:09:41,740 Viens, kas notiek agrāk ceļš ir viens jūs saņemsiet. 945 01:09:41,740 --> 01:09:43,770 Ja ir iebūvēts komanda, jūs vienmēr saņemsiet to. 946 01:09:43,770 --> 01:09:47,890 Nav veids, lai dotu tai zemāku prioritāte nekā komandu ceļā. 947 01:09:47,890 --> 01:09:54,140 Ja jūs vēlaties, lai saņemtu šo ceļu komandu, jūs varat ierakstīt pilnu ceļavārdiem. 948 01:09:54,140 --> 01:09:55,850 Ja ir bijuši komandu, kur ceļā kaut kur, 949 01:09:55,850 --> 01:09:58,440 Jūs varētu rakstīt / bin / kur un jūs saņemsiet to. 950 01:09:58,440 --> 01:10:01,800 Ja jūs nevēlaties rakstīt visu ceļavārdiem, jūs varētu noteikt alias. 951 01:10:01,800 --> 01:10:06,310 Patiesībā, ja jūs sniedza alias tāds pats nosaukums kā iebūvēto komandu, tas strādā 952 01:10:06,310 --> 01:10:08,790 jo alias definīcija tiek vērtēts 953 01:10:08,790 --> 01:10:13,220 pirms apvalks nosaka, ka tas ir iebūvēts komandu, kas būtu jāizpilda. 954 01:10:18,810 --> 01:10:23,440 Tad tas kļūst nedaudz sarežģītāka ar dažiem komandas šeit. 955 01:10:23,440 --> 01:10:29,880 Gadījumā dažas komandas ir faktiski iebūvēts komandas un ceļā. 956 01:10:29,880 --> 01:10:34,140 Viens no tiem ir atbalss, komandu es tikai izmantot atpakaļ nedaudz, bet šajos piemēros. 957 01:10:34,140 --> 01:10:37,410 Echo ir komanda ceļā, un tas ir katrā čaumalu. 958 01:10:37,410 --> 01:10:40,580 Tie nav obligāti visiem izturēties vienādi. 959 01:10:40,580 --> 01:10:42,970 Tas bija sākotnēji komandu tikai ceļā. 960 01:10:42,970 --> 01:10:45,280 Tā tika uzcelta uz čaumalas vēlāk. 961 01:10:45,280 --> 01:10:48,080 Jo tur ir iespējas, kas ir atkarīgas no vides 962 01:10:48,080 --> 01:10:52,970 un komandrindas opcijas, iebūvētie komandas 963 01:10:52,970 --> 01:10:57,030 Tika rakstīts, lai darbotos tāds pats kā komandu, kas bija ceļā, 964 01:10:57,030 --> 01:10:59,670 tas ir maz ticams, viņi ir rakstīts, ka veidā 965 01:10:59,670 --> 01:11:01,720 ja komanda vēl nebija rakstīts ceļu. 966 01:11:01,720 --> 01:11:06,180 Tāpēc šī ir blakusparādības. Tās vēsture ir ietekme šeit. 967 01:11:06,180 --> 01:11:08,380 Ir iespējas tur. 968 01:11:14,280 --> 01:11:23,060 Pastāv arī iespēja, nosaka mainīgo ir tcsh sauc echo_style. 969 01:11:23,060 --> 01:11:27,700 Tas ir viens no šiem mainīgajiem, kas var mainīt tā, ka ECHO sadarbojas. 970 01:11:27,700 --> 01:11:30,910 Ir arī citi gadījumi, kad var piešķirt mainīgā 971 01:11:30,910 --> 01:11:36,290 kas maina veidu, apvalks darbība, ieskaitot iebūvētu komandu, darbojas. 972 01:11:36,290 --> 01:11:38,130 Tas neietekmē kaut kas cits 973 01:11:38,130 --> 01:11:40,640 jo citas komandas nav pieejami uz korpusa mainīgie, 974 01:11:40,640 --> 01:11:42,090 tikai vides mainīgos. 975 01:11:42,090 --> 01:11:45,360 Bet apvalks operācijas var lasīt korpusa mainīgie. 976 01:11:45,360 --> 01:11:50,710 Tas nestrādās CSH. Tas ir tikai tcsh. Tas ir viens no uzlabojumiem. 977 01:11:58,540 --> 01:12:04,620 Analizējot ir sekvences, kad tā novērtē metacharacters, 978 01:12:04,620 --> 01:12:08,140 kad tā novērtē mainīgos, pseidonīmi, vēstures atsauces. 979 01:12:08,140 --> 01:12:11,830 Tur ir īpaši secība par šīm lietām. 980 01:12:11,830 --> 01:12:13,730 Ja tas lietas noteiktā secībā 981 01:12:13,730 --> 01:12:16,080 un izpaužas kaut ko, kas ir izpausme veida 982 01:12:16,080 --> 01:12:20,650 kas jau ir novērtētas, tas nav novērtēt to vēlreiz. 983 01:12:20,650 --> 01:12:24,520 Ja tā izpaužas tā, tad tas būs tikai iet uz rakstzīmes. 984 01:12:24,520 --> 01:12:29,920 Tātad, ja novērtējums dažas izpausmes, piemēram, komandu aizstāšanu 985 01:12:29,920 --> 01:12:36,850 vai mainīgu vai kāds rada izteiksme 986 01:12:36,850 --> 01:12:39,240 ko jūs vēlaties, lai tiktu novērtēti, 987 01:12:39,240 --> 01:12:42,510 kas darbosies tikai tad, ja, ka novērtēšana notiek vēlāk secībā. 988 01:12:42,510 --> 01:12:45,010 Es ceru, ka es esmu to skaidri tur. 989 01:12:45,010 --> 01:12:50,460 Ka analizējot secība, operācija C-čaulas, 990 01:12:50,460 --> 01:12:56,490 nav tas pats iebūvētām komandām, jo ​​tas ir ne-iebūvētiem komandas. 991 01:12:56,490 --> 01:12:58,890 Es neesmu pārliecināts par Bash tur. 992 01:12:58,890 --> 01:13:02,450 Piemēram, ja apvalks mainīgais ražo vēstures atsauce 993 01:13:02,450 --> 01:13:04,230 tas, iespējams, nav iet atpakaļ vēsturē. 994 01:13:04,230 --> 01:13:06,010 Tas tikai iegūt izsaukuma zīme. 995 01:13:06,010 --> 01:13:08,840 Patiesībā, mēs varam tikai mēģināt, ka tiesības tagad. 996 01:13:09,720 --> 01:13:18,240 Set = un mums nāksies likt to tur. 997 01:13:30,690 --> 01:13:34,580 Ak, pagaidiet. Piedodiet. I did to bash. Es gribēju to darīt šeit. 998 01:13:53,470 --> 01:13:56,080 Redzēt, tāpēc tā nav izvērtēt šo vēstures atsauce 999 01:13:56,080 --> 01:14:00,520 jo tas bija jau iepriekšējo punktu vērtēšanas vēstures izteiksmes 1000 01:14:00,520 --> 01:14:02,720 kad tā izvērtēja mainīgo. 1001 01:14:02,720 --> 01:14:05,550 Tātad tas ir 1 efekts analizējot. 1002 01:14:05,550 --> 01:14:08,760 Un atkal, iebūvēti komandas netiek veikta tādā pašā veidā. 1003 01:14:08,760 --> 01:14:11,230 Labi. Iesim uz nākamo šeit. 1004 01:14:11,230 --> 01:14:16,060 Tas ir paredzēts 1 līnija, bet tas ir padarot to vieglāk lasīt. 1005 01:14:19,130 --> 01:14:21,530 Ko tas dara? 1006 01:14:21,530 --> 01:14:28,640 Jūs varat atgādināt, ka mēs varam novērtēt zvaigznītes kā filename aizstājējzīmes, 1007 01:14:28,640 --> 01:14:33,890 un ir citi filename aizstājējzīmes, piemēram, jautājuma zīmes un kronšteinu izteiksmes. 1008 01:14:33,890 --> 01:14:39,000 Šāda veida vērtēšanas sauc globbing. 1009 01:14:39,000 --> 01:14:46,290 noteikts noglob sākumā šī komanda saka nedari tā. 1010 01:14:46,290 --> 01:14:53,370 atstatīt noglob saka iet atpakaļ, lai dara to. 1011 01:14:53,370 --> 01:14:56,440 Ņemiet vērā, ka komplektā glob nebūtu šādas sekas. 1012 01:14:56,440 --> 01:15:00,800 , Parastā valodā, kas glob vai atiestatīta noglob, šķiet, ir līdzvērtīgi, 1013 01:15:00,800 --> 01:15:03,290 bet šeit tā nav. Tas ir atstatīt noglob. 1014 01:15:05,120 --> 01:15:07,910 Tagad Tset. Tset stāvēja termināļa komplektu. 1015 01:15:07,910 --> 01:15:11,840 Tas nav izmantots, kas bieži vien tagad, bet pirms Windowing sistēmas kļuva pieejami 1016 01:15:11,840 --> 01:15:15,760 un jums bija vienu termināli, jūs varētu būt, lai noteiktu veidu. 1017 01:15:15,760 --> 01:15:18,700 Un, ja kaut kas nāk pār Ethernet vai no tīkla, 1018 01:15:18,700 --> 01:15:21,120 jūs varētu vēlēties, lai teikt, tas ir VT100. 1019 01:15:21,120 --> 01:15:26,630 VT100 ir sava veida standarta termināļa biznesā. Tas nāk no decembris termināla. 1020 01:15:26,630 --> 01:15:35,270 Ja jūs vienkārši darīt iezvanpieeju - pamanīt, ka? Tas iet atpakaļ veidos, vai ne? 1021 01:15:35,270 --> 01:15:39,520 Tātad, ja mēs vienkārši Tset nekā šeit, 1022 01:15:39,520 --> 01:15:45,250 ja es vienkārši darīt Tset, tas atgriešanai savu terminālu, bet neredzēju neko. 1023 01:15:45,250 --> 01:15:47,340 Tas nav īsti mainīt neko. 1024 01:15:47,340 --> 01:15:48,620 -S 1025 01:15:49,900 --> 01:15:51,480 Labi. 1026 01:15:51,480 --> 01:15:53,350 setenv TERM xterm krāsu. 1027 01:15:53,350 --> 01:15:57,080 Mēs jau zinām, ka termiņš tika noteikts, ka veids, lai nemainījās. 1028 01:15:57,080 --> 01:15:58,860 Tas ir veids, kā mēs gribētu vēlaties to darīt. 1029 01:15:58,860 --> 01:16:07,080 Bet paziņo, ka šo komandu, Tset-s, tikai izejas šīs komandas. Tā nav palaist tos. 1030 01:16:07,080 --> 01:16:09,770 Tas nav palaist šīs komandas, tas izejas viņiem. 1031 01:16:09,770 --> 01:16:13,650 Tātad tas ir paredzēts, lai ražotu komandas, kas pēc tam tiks palaist. 1032 01:16:13,650 --> 01:16:16,360 Atceraties komandu šajā failā es tikko parādīja jums bija Q tajā. 1033 01:16:16,360 --> 01:16:18,910 Tāpēc pieņemsim darīt. 1034 01:16:18,910 --> 01:16:23,750 Q nomāc kāda izeja, bet tas nav svarīgi šeit, kā jūs varat redzēt. 1035 01:16:23,750 --> 01:16:27,980 Es esmu tikai darot, ka, lai pierādītu, ka tas nav svarīgi. 1036 01:16:27,980 --> 01:16:31,870 Tas ir backquote sintaksi. 1037 01:16:31,870 --> 01:16:35,340 Atzīmēt backquote šeit, backquote šeit. 1038 01:16:35,340 --> 01:16:37,680 Es esmu izlaižot šīs lietas šeit. 1039 01:16:37,680 --> 01:16:39,570 Tie ir gadījumi, kad stāsta to, ko darīt 1040 01:16:39,570 --> 01:16:42,050 gadījumā, īpaša veida termināli - 1041 01:16:42,050 --> 01:16:45,400 Ethernet, tīkls, iezvanpieejas, ko jūs esat. 1042 01:16:45,400 --> 01:16:48,050 Tas nav svarīgi šeit, jo mēs faktiski darīt kādu no šīm lietām. 1043 01:16:48,050 --> 01:16:49,720 Es esmu tikai ilustrē komandu. 1044 01:16:49,720 --> 01:16:55,170 Ja es to izdarītu ar backquote, ko es esmu gatavojas saņemt? 1045 01:16:55,170 --> 01:17:00,210 Arī paziņojums, ka šis ietvēra noteikto noglob un atiestatīta noglob, 1046 01:17:00,210 --> 01:17:02,630 tāpēc tie ir kļuvuši lieki definīcijā. 1047 01:17:02,630 --> 01:17:05,380 Tas bija ne vienmēr ir taisnība, bet tagad viņi ir iekļauti šo komandu. 1048 01:17:05,380 --> 01:17:08,890 Bet pieņemsim redzēt, kas notiek, ja es daru to, 1049 01:17:08,890 --> 01:17:12,570 un doties uz sākumu atbilstoši kontrolēt, un es darīt. 1050 01:17:14,380 --> 01:17:18,040 Labi, noteikti: Komanda nav atrasts. Tas ir sava veida dīvaini, vai ne? 1051 01:17:18,040 --> 01:17:20,570 komplekts ir labi zināms komandu. Tā ir daļa no korpusa. 1052 01:17:20,570 --> 01:17:24,040 noteikts: Komanda nav atrasts? Kāpēc tā? 1053 01:17:24,040 --> 01:17:26,790 Hmm. Nu, pieņemsim domāt par to. 1054 01:17:26,790 --> 01:17:31,100 Tas darbojas backquote komandas maiņu, 1055 01:17:31,100 --> 01:17:37,430 un kas rodas ar noteiktu daļu no secības analizējot komandu. 1056 01:17:37,430 --> 01:17:40,360 komplekts ir iebūvēts komandu. 1057 01:17:40,360 --> 01:17:43,900 Tātad, līdz brīdim, kad tā dara šo komandu aizstāšanu, 1058 01:17:43,900 --> 01:17:48,280 tas jau gotten iepriekšējo punktu identificētu iebūvētās komandas. 1059 01:17:48,280 --> 01:17:51,900 Tāpēc tā izturas noteikt, it kā tas būtu komanda ceļā. 1060 01:17:51,900 --> 01:17:55,440 Lieki teikt, tas nav atrast to, un jūs saņemsiet kļūdas. 1061 01:17:55,440 --> 01:17:59,300 Labi. Tur ir piemērs parsēšana secību. 1062 01:17:59,300 --> 01:18:01,460 Un ko mēs darām par to? 1063 01:18:01,460 --> 01:18:04,800 Ievērosiet šo ļoti interesantu komandu šeit, eval. 1064 01:18:04,800 --> 01:18:06,530 Nez, ko tas dara. 1065 01:18:06,530 --> 01:18:08,760 Ja paskatās rokasgrāmatu - un pieņemsim tikai darīt 1066 01:18:08,760 --> 01:18:12,000 lai parādītu, cik mulsinoši šīs rokasgrāmatas - 1067 01:18:12,000 --> 01:18:19,400 Vīrietis tcsh, sajaukt mehāniskā, atrast lietas šeit nav viegli, vai nu. 1068 01:18:19,400 --> 01:18:31,850 Šeit mēs iet, EVAL ARG, lai mēs varētu būt 1 vai vairāk argumentu 1069 01:18:31,850 --> 01:18:34,090 un tur ir saraksts ar lietām tur. 1070 01:18:34,090 --> 01:18:37,730 Izturas pret argumentus kā izejvielas korpusam 1071 01:18:37,730 --> 01:18:43,600 un izpilda iegūtos komandas saistībā ar pašreizējo čaumalu. 1072 01:18:43,600 --> 01:18:46,900 To parasti izmanto, lai izpildītu komandas radītās kā rezultātā komandu 1073 01:18:46,900 --> 01:18:51,310 vai mainīga aizstāšana, jo analizējot notiek pirms šo aizstāšanas. 1074 01:18:51,310 --> 01:18:52,580 Ļoti labi. 1075 01:18:52,580 --> 01:18:54,740 Un šeit viņi pat atsaucas uz Tset komandu paraugu izmantošanai 1076 01:18:54,740 --> 01:18:57,700 piemēram, man tikko parādīja jums. 1077 01:18:57,700 --> 01:19:00,440 Tagad man ir, lai saņemtu logu atpakaļ noderīgu vietā. 1078 01:19:03,150 --> 01:19:07,800 Iesim vairāk nekā šeit, un mēs redzēsim, ka eval lieto tieši pirms tam. 1079 01:19:07,800 --> 01:19:14,010 Tātad, pieņemsim redzēt, kas notiek, ja mēs - šeit mēs iet uz augšu ar bultiņām, lai šo komandu 1080 01:19:14,010 --> 01:19:20,940 un kontroles sākumā, eval. 1081 01:19:20,940 --> 01:19:22,850 Labi, tāpēc tā darbojas. 1082 01:19:22,850 --> 01:19:26,440 Kad jūs to eval, tas notiek, kas nāk pēc tam, un padara to komandu. 1083 01:19:26,440 --> 01:19:29,460 Tas ļauj būtiski izanalizēt to divreiz. 1084 01:19:29,460 --> 01:19:33,710 Sadaļā šeit vada šo komandu iekšpusē backquotes, 1085 01:19:33,710 --> 01:19:36,210 saņem produkciju. 1086 01:19:36,210 --> 01:19:42,850 Izeja ir paredzēts darboties kā tām komandām šeit, piemēram, šo 1087 01:19:42,850 --> 01:19:45,890 šajā vienā, un šo vienu. 1088 01:19:45,890 --> 01:19:50,100 Tāpēc šīs komandas tagad šeit šajā secībā, 1089 01:19:50,100 --> 01:19:58,950 bet tie ir iebūvēts komandas, un tas nevar saņemt viņiem uzreiz. 1090 01:19:58,950 --> 01:20:06,440 Tāpēc mēs ejam uz EVAL, eval paceļ ka uz augšu, viss atkal sākas viss, un tas darbojas. 1091 01:20:06,440 --> 01:20:18,460 Piemērs abi backquoting, EVAL, analizējot, sekas analizējot, 1092 01:20:18,460 --> 01:20:21,910 un komanda, kas, iespējams, ir ļoti maz izmantot, lai jums mūsdienās. 1093 01:20:21,910 --> 01:20:25,540 Labi. Labi, umask. 1094 01:20:25,540 --> 01:20:32,160 Apskatīsim šo komandu šeit, umask 022. Nez, ko tas dara. 1095 01:20:32,160 --> 01:20:38,420 Let 's vienkārši ierakstiet umask ar neko pēc tā. 22. Labi. 1096 01:20:38,420 --> 01:20:44,350 022, un darīt to vēlreiz. 1097 01:20:44,350 --> 01:20:48,580 Kā jūs varētu būt guessed, umask bez argumentiem stāsta jums pašreizējo masku; 1098 01:20:48,580 --> 01:20:51,760 umask ar argumentiem, padara to, ka, bet tas bija viens man jau bija. 1099 01:20:51,760 --> 01:20:53,800 Kāda 022 nozīmē? 1100 01:21:01,650 --> 01:21:07,080 Tās ir šeit, ka aizsardzība attiecībā uz failu. 1101 01:21:07,080 --> 01:21:11,440 Tie nosaka, kam ir atļauts lasīt, ne rakstīt vai izpildīt failu. 1102 01:21:11,440 --> 01:21:16,560 Aizsardzības sauc arī atļaujas. 1103 01:21:16,560 --> 01:21:21,390 R apzīmē lasīt, ka W rakstīt, 1104 01:21:21,390 --> 01:21:25,500 un x, kas nav sastopams, apzīmē izpildīt. 1105 01:21:25,500 --> 01:21:27,260 Ir 3 kategorijas tur. 1106 01:21:27,260 --> 01:21:33,540 Pēdējie 3 elementi ir kategoriju lietotājam. Tie attiecas uz mani, lietotāju. 1107 01:21:33,540 --> 01:21:36,870 Šie 3 šeit attiecas uz grupu. 1108 01:21:36,870 --> 01:21:41,590 Fails pieder 1 grupai, lietotājs var piederēt vairākām grupām, 1109 01:21:41,590 --> 01:21:47,150 , bet, ja lietotājs ir grupas, kurā fails pieder, 1110 01:21:47,150 --> 01:21:51,090 tad šie aizsardzības attieksies uz viņu, ja viņš nav lietotājs. 1111 01:21:51,090 --> 01:21:54,230 Un tas viens ir visiem pārējiem. 1112 01:21:55,540 --> 01:21:57,690 Šīs kategorijas ir savstarpēji izslēdzoši. 1113 01:21:57,690 --> 01:21:59,750 Lietotājs aizsardzība attiecas uz viņu, 1114 01:21:59,750 --> 01:22:03,780 kā grupa aizsardzības attiecas uz locekļiem no grupas, kas nav lietotājam, 1115 01:22:03,780 --> 01:22:08,110 un citi aizsardzības tikai uz cilvēkiem, kas nav lietotāja un grupas biedriem. 1116 01:22:08,110 --> 01:22:12,320 Ja tur ir r vai aw, vai x, tas nozīmē, ka aizsardzība ir piešķirta. 1117 01:22:12,320 --> 01:22:13,950 Ja tur ir defise, tas nozīmē, ka tā nav. 1118 01:22:13,950 --> 01:22:16,690 Tur tiešām ir citas lietas, ko var likt šeit bez tiem, 1119 01:22:16,690 --> 01:22:18,350 ko es ne iekļuvuši tagad. 1120 01:22:18,350 --> 01:22:24,450 Umask definē noklusējuma failiem, ka jūs izveidojat. 1121 01:22:24,450 --> 01:22:28,580 Un kā masku, būtībā tā saka biti, kas jums nav noteikti. 1122 01:22:28,580 --> 01:22:30,450 Kā tas ir kļuvis biti? 1123 01:22:30,450 --> 01:22:33,240 Ja jūs domājat par katru no tiem kā astotnieku numuru, 1124 01:22:33,240 --> 01:22:42,120 tas ir 1s bit, tas ir 2s, tas ir 4s. 1125 01:22:42,120 --> 01:22:45,840 Tātad no 0 līdz 7 1126 01:22:45,840 --> 01:22:51,770 aprakstīt to kombinācija r s, w s, un x ir jums par šīm 3 1127 01:22:51,770 --> 01:22:53,710 un pēc tam līdzīgs numurs šie un pēc tam šo. 1128 01:22:53,710 --> 01:23:12,030 Tātad 022 ir 0 uz otru, 2 grupas, 2 lietotājam. 1129 01:23:12,030 --> 01:23:15,870 Bet tas ir maska. Maska ir tas, kas jums nav. 1130 01:23:19,380 --> 01:23:20,610 Piedod. Es tikai tev lietas nepareizā secībā. 1131 01:23:20,610 --> 01:23:25,620 Tas ir pirmais 3. Šie 3 ir lietotājs, šie 3 ir grupa, šie 3 ir otra. 1132 01:23:25,620 --> 01:23:27,970 Sorry es tev tos nepareizā secībā. 1133 01:23:27,970 --> 01:23:31,910 0, kas ir pirmais no tiem, nerāda vērtības, 1134 01:23:31,910 --> 01:23:35,430 bet, ja numurs nav tur, tas ir 0. 1135 01:23:35,430 --> 01:23:38,370 Tas nozīmē, ka būtu jāatļauj visi 3 no tiem. 1136 01:23:38,370 --> 01:23:41,550 Paziņojums, ka šajā konkrētajā one x netiek atļauta. 1137 01:23:41,550 --> 01:23:44,090 Tas tādēļ, ka apvalks ir spējīgs noteikšanai 1138 01:23:44,090 --> 01:23:46,260 vai fails ir izpildīts vai nav. 1139 01:23:46,260 --> 01:23:49,800 Tā kā tas nav izpildāmo failu, tas nav noteikti x. 1140 01:23:49,800 --> 01:23:54,000 Gada 2 nozīmē, ka rakstīt atļauja, otro kategoriju šeit, 1141 01:23:54,000 --> 01:23:56,500 viens vidū, tiek liegta. 1142 01:23:56,500 --> 01:23:58,500 Tātad vēlreiz, tās ir lietas, kas ir liegta. 1143 01:23:58,500 --> 01:24:02,080 Nu, x ir atļauts, bet tas nav šeit, jo tas nav izpildāms 1144 01:24:02,080 --> 01:24:04,260 un tāpat attiecībā uz citiem. 1145 01:24:04,260 --> 01:24:08,880 Tātad, tas ir kopīgs umask. 1146 01:24:08,880 --> 01:24:14,630 Vēl viens izplatīts ir 700 - dot sev visu, un neviens cits neko. 1147 01:24:14,630 --> 01:24:17,040 Un ir arī citas iespējas. 1148 01:24:21,340 --> 01:24:27,110 Es iešu atpakaļ uz to. Izmantojot vēsturi varu meklēt atpakaļ par to, LWH lai tur. 1149 01:24:27,110 --> 01:24:30,210 Labi. Tātad, šeit tie ir čaumalas. 1150 01:24:30,210 --> 01:24:36,020 Bash, īpašnieks, kas ir sistēmas kontu, var darīt visu. 1151 01:24:36,020 --> 01:24:41,210 Grupa un visi pārējie var darīt izlasīt vai izpildīt, bet ne rakstīt. 1152 01:24:41,210 --> 01:24:44,570 Tas viens nav pat ļauj īpašniekam rakstīt to. 1153 01:24:44,570 --> 01:24:46,460 Ja īpašnieks vēlējās rakstīt to, sistēmas kontu, 1154 01:24:46,460 --> 01:24:48,020 viņš būtu jāmaina aizsardzību pirmās. 1155 01:24:48,020 --> 01:24:53,940 Bet atkal, umask nosaka noklusējuma maskējot to, 1156 01:24:53,940 --> 01:24:57,160 , norādot biti, kas netiks noteiktos. 1157 01:24:57,160 --> 01:25:04,380 Tas parasti ir vienā no saviem inicializācijas failu, kas ir. Cshrc C-čaulas 1158 01:25:04,380 --> 01:25:07,500 vai. profils uz Bourne tipa korpusiem. 1159 01:25:07,500 --> 01:25:12,520 Tas var būt citur arī, ja ir citi inicializācijas failus sistēma. 1160 01:25:12,520 --> 01:25:14,610 Anyway, tas ir umask. 1161 01:25:14,610 --> 01:25:18,180 Tur ir kaut veida dīvaini šeit 1162 01:25:18,180 --> 01:25:22,800 un tas ir, kāpēc ir vienota komanda par šo? 1163 01:25:22,800 --> 01:25:28,690 Ja es rakstot šo, es būtu to mainīgais, umask = dažas vērtības. 1164 01:25:28,690 --> 01:25:31,100 Kāpēc ir vesela komanda, tikai šim nolūkam? 1165 01:25:31,100 --> 01:25:34,560 Iemesls ir tas tikai iet atpakaļ uz izcelsmi Unix. 1166 01:25:34,560 --> 01:25:41,050 Unix bija tikai daži programmu projekts Bell Labs jau 1970. 1167 01:25:41,050 --> 01:25:42,610 Cilvēki vienkārši sanāca kopā, lai programmu. 1168 01:25:42,610 --> 01:25:45,290 Viņi nekad nav paredzēts, lai tā kļūtu par pasaules operētājsistēmu. 1169 01:25:45,290 --> 01:25:47,250 Dažādi cilvēki rakstīja dažādas daļas nedomājot ļoti 1170 01:25:47,250 --> 01:25:49,790 par to, kā viņi gatavojas izmantot - diezgan paviršs. 1171 01:25:49,790 --> 01:25:53,290 Un tas nāca kopā, piemēram, ka, un tas joprojām ir, piemēram, ka dažos aspektos. 1172 01:25:53,290 --> 01:25:57,930 Tātad, kas atspoguļo vēsturi, un joprojām ir šīs neatbilstības un nepāra elementi tā. 1173 01:25:57,930 --> 01:26:00,750 Labi. Nākamais šeit. 1174 01:26:08,170 --> 01:26:11,000 Kā es rakstīja iepriekš, C-apvalks nav īsti izmantots ļoti daudz plānošanu, 1175 01:26:11,000 --> 01:26:12,420 lai gan tas var būt. 1176 01:26:12,420 --> 01:26:15,080 Tā izpilda lēnāk, atkal kompromisu starp interaktīvo lietojumu, 1177 01:26:15,080 --> 01:26:17,820 kas ir vairāk apstrāde iesaistīto nekā ātrums, 1178 01:26:17,820 --> 01:26:20,710 kas var iztikt bez apstrādes. 1179 01:26:20,710 --> 01:26:28,320 Papildu funkcijas, kas pievienotas Bourne Shell ar Korn un Bourne-atkal korpusiem 1180 01:26:28,320 --> 01:26:32,120 neliekas palēnināt tos, un es nezinu, kāpēc tas ir. 1181 01:26:32,120 --> 01:26:36,310 Tā var tikai būt labāk programmēšana, bet es neesmu spējīgs zināt. 1182 01:26:36,310 --> 01:26:40,420 Paātrinās šeit patiesībā nav tik liels galā, lai gan tas ir minēts. 1183 01:26:40,420 --> 01:26:43,690 Iemesls ir tas, ka čaulas skripti faktiski iegūt diezgan ātri. 1184 01:26:43,690 --> 01:26:46,450 Ja ir daudz komandas, piemēram, ar calculational programmā, 1185 01:26:46,450 --> 01:26:49,110 jūs, iespējams, nevar darīt to shell skriptu. 1186 01:26:49,110 --> 01:26:51,450 Operācijas ir diezgan vienkāršs un tiešs. 1187 01:26:51,450 --> 01:26:53,960 Tiem, kas es esmu pieredzējis, ka ir pārāk lēns 1188 01:26:53,960 --> 01:26:57,110 ietver atkārtotus pieteikumus lēni komandas. 1189 01:26:57,110 --> 01:27:00,480 Agrāk es teicu plūsmas redaktoru sed. Ka komanda ir lēna. 1190 01:27:00,480 --> 01:27:03,760 Ja jūs izpildīt sed daudzas reizes, jūs saņemsiet lēns skriptu, bet tas nav apvalks, kas ir lēns. 1191 01:27:03,760 --> 01:27:07,920 Darbojas to Bourne čaulas nebūs daudz ātrāk nekā darbojas to C-apvalks, 1192 01:27:07,920 --> 01:27:10,070 lai gan tur ir varbūt dažas priekšrocības tur. 1193 01:27:10,070 --> 01:27:12,760 Papildu programmēšanas spējas, no otras puses, 1194 01:27:12,760 --> 01:27:17,920 ir nozīmīgi iemesli, kāpēc jūs varētu izmantot Bourne tipa korpusiem. 1195 01:27:17,920 --> 01:27:21,390 C-shell ir nepāra funkcijas, to - 1196 01:27:21,390 --> 01:27:25,250 Tas, ka jūs nezināt, ja mainīgais ir apvalks mainīgā vai vides mainīgais. 1197 01:27:25,250 --> 01:27:27,440 Tas var būt ļoti mulsinoši. 1198 01:27:27,440 --> 01:27:32,170 Tas nav tik viegli rakstīt 1199 01:27:32,170 --> 01:27:35,930 tikai, pamatojoties uz savu pieredzi plānošanas citās valodās. 1200 01:27:35,930 --> 01:27:41,350 Es domāju, ka jūs varat atrast Bourne tipa korpusiem vairāk atbilst jūsu pieredzi. 1201 01:27:43,730 --> 01:27:49,270 Daži skripti, lai gan, var būt tūkstošiem līniju garumu. 1202 01:27:49,270 --> 01:27:52,450 Tie, kas es esmu redzējis tiek izmantoti lāpīšanu operētājsistēmas. 1203 01:27:52,450 --> 01:27:55,450 Tie var izpildīt ļoti lēni, bet jums nav palaist tos ļoti bieži. 1204 01:27:55,450 --> 01:27:57,180 Tas ir tikai tad, kad jūs darāt lāpīšanu, 1205 01:27:57,180 --> 01:27:59,450 un tas ir tikai sistēmas pārzinis, kas dara šīs lietas, 1206 01:27:59,450 --> 01:28:01,840 tāpēc tas nav īsti daudz jautājumu. 1207 01:28:01,840 --> 01:28:06,980 Tiem, kas ir simtiem līniju ilgi reāli izpildīt diezgan ātri. 1208 01:28:06,980 --> 01:28:10,540 Pieminēt to šeit, kādi ir šie uzlabojumi? 1209 01:28:10,540 --> 01:28:13,170 Es jau esmu minēts dažas no tām - masīvi, aprēķini, 1210 01:28:13,170 --> 01:28:20,540 par $ () ekspresijas aprēķiniem, kas Bash čaumalas 1211 01:28:20,540 --> 01:28:23,050 cita veida komandu aizstāšanu. 1212 01:28:23,050 --> 01:28:25,360 Ir dažāda veida testēšanas komandu 1213 01:28:25,360 --> 01:28:29,350 ar kuru jūs varat darīt nosacījuma testus esamību failu vai citām lietām. 1214 01:28:29,350 --> 01:28:34,790 Ilgs šeit, šī komanda šeit. 1215 01:28:34,790 --> 01:28:38,480 Ko tas dara, un kāpēc būtu kāds izmantot to? 1216 01:28:51,170 --> 01:28:52,990 printenv variablename. 1217 01:28:52,990 --> 01:28:56,130 Mēs zinām, kas printenv dara. Tā stāsta mums mainīgā vērtību. 1218 01:28:56,130 --> 01:29:00,850 Un printenv variablename nebūs pastāstiet mums ļoti daudz, jo tur nav tādas mainīgs. 1219 01:29:03,550 --> 01:29:05,120 Tukšu. 1220 01:29:05,120 --> 01:29:08,440 Bet pieņemsim to kaut ko jēgpilnu. 1221 01:29:13,420 --> 01:29:16,800 Tas nav tur, vai nu. Labi. Es domāju, es nekad nav definēts, ka. 1222 01:29:16,800 --> 01:29:18,020 Pieņemsim tikai pārbaudīt savu vidi. 1223 01:29:18,020 --> 01:29:20,900 Šī ir vēl viena komanda, ar kuru jūs varat pārbaudīt savu vidi. 1224 01:29:20,900 --> 01:29:24,470 Ir vecs labs redaktors, mēs redzējām pirms vienu. 1225 01:29:42,360 --> 01:29:44,120 Ko tas dara? 1226 01:29:44,120 --> 01:29:48,050 Šeit mums ir backquote izteiksmi. 1227 01:29:48,050 --> 01:29:50,370 Atcerieties, tas ir C-shell. 1228 01:29:50,370 --> 01:29:54,850 Tāpēc printenv redaktors dos mums vērtību redaktoru. Tas ir vi. 1229 01:29:54,850 --> 01:29:59,790 Un tad tas noteikti šo vērtību mainīgajam a, noteiktajā komandu. 1230 01:29:59,790 --> 01:30:02,860 Tāpēc tagad, ja man echo $ a, man vi. 1231 01:30:02,860 --> 01:30:05,850 Tas nešķiet briesmīgi noderīgs. 1232 01:30:05,850 --> 01:30:08,080 Tomēr tas tiešām ir mērķis. 1233 01:30:08,080 --> 01:30:12,260 Jo mēs nezinām, vai mainīgais ir apvalks mainīgā vai vides mainīgais 1234 01:30:12,260 --> 01:30:16,280 izmantojot dolāra zīmi novērtēšanas sintaksi, mēs varam izmantot printenv 1235 01:30:16,280 --> 01:30:19,460 lai pārliecinātos, ka tas ir vides mainīgais. 1236 01:30:19,460 --> 01:30:22,550 Tātad, ja tur bija apvalks mainīga redaktors, tas nebūtu gotten to. 1237 01:30:22,550 --> 01:30:25,640 Tas strādā tikai ar vides mainīgo. 1238 01:30:25,640 --> 01:30:28,370 Ja tur bija čaulas mainīga, un es gribēju to vērtību, 1239 01:30:28,370 --> 01:30:29,980 Man ir atrast kādu citu veidu, kā to izdarīt. 1240 01:30:29,980 --> 01:30:33,530 Viens veids, kā to darīt, būtu darot komplektu un cauruļvadi. 1241 01:30:33,530 --> 01:30:36,130 Tas ir viens no metacharacters, īpašas zīmes. 1242 01:30:36,130 --> 01:30:38,370 Tā sūta produkciju, kas, lai kaut kas cits. 1243 01:30:38,370 --> 01:30:40,650 Paskatīsimies, ko mēs varētu atrast tur. 1244 01:30:40,650 --> 01:30:49,340 Nekas. Labi. Pieņemsim tikai redzētu, kas tur viss kopā. 1245 01:30:49,340 --> 01:30:53,580 Tas bija echo_style, viens es minēju iepriekš. Labi, pieņemsim darīt. 1246 01:31:02,460 --> 01:31:06,230 Atcerieties, es minēju iepriekš, echo_style 1247 01:31:06,230 --> 01:31:08,410 nosaka, kā atbalss komanda darbosies. 1248 01:31:08,410 --> 01:31:10,940 BSD stendi Berkeley Standard Distribution. 1249 01:31:10,940 --> 01:31:13,200 Tas ir Berkeley Unix no 1970. 1250 01:31:13,200 --> 01:31:16,630 Tas ir viens no veidiem, ka ECHO vienlaikus var darboties. 1251 01:31:16,630 --> 01:31:22,310 Nosakot echo_style šai vērtību TC-čaulas liks echo rīkoties šādā veidā. 1252 01:31:22,310 --> 01:31:27,670 Tātad, kas tas, ka, bet noteikti tikai izpaužas korpusa mainīgie. 1253 01:31:27,670 --> 01:31:35,430 Tas nevar atrast redaktors, kas nav apvalks mainīgs. 1254 01:31:36,870 --> 01:31:38,050 Nekas. 1255 01:31:38,050 --> 01:31:39,660 Tātad tas ir viens veids, kā atšķirt tos. 1256 01:31:39,660 --> 01:31:42,000 Bet fakts, ka jums ir iet caur kādu dīvainu komandu, piemēram, ka 1257 01:31:42,000 --> 01:31:45,500 atšķirt korpusa mainīgie un vides mainīgajiem 1258 01:31:45,500 --> 01:31:49,970 parāda veida nepraktiski rakstura C-shell dažiem mērķiem. 1259 01:31:52,290 --> 01:31:57,960 Un tagad, pēdējā un varbūt mazāk, tas ir cilvēks lapas. 1260 01:31:57,960 --> 01:32:03,190 Tie, kas jūs zināt, man ir komanda īss rokasgrāmatu. 1261 01:32:03,190 --> 01:32:08,610 Cilvēks lapas čaumalas ir grūti lasīt. Viņi ir ļoti garš. 1262 01:32:08,610 --> 01:32:14,060 Viņi organizēta tādā veidā, kas var padarīt to grūti, lai atrastu to, ko jūs meklējat. 1263 01:32:14,060 --> 01:32:15,980 Tātad, ja jūs meklējat kaut ko, ar mērķi, 1264 01:32:15,980 --> 01:32:20,050 Jūs varat nezināt, ka mērķis ir apvalks mainīga vai kaut kas cits, 1265 01:32:20,050 --> 01:32:21,630 lai jūs varētu nezināt, kur to meklēt. 1266 01:32:21,630 --> 01:32:25,030 Jūs varat meklēt dažādus stīgas, bet stīgas bieži atkārtojas. 1267 01:32:25,030 --> 01:32:27,640 Tātad, tas ir vispār grūti lasīt. 1268 01:32:27,640 --> 01:32:33,810 Mēs vienkārši paskatījās TC-čaulas man lapu nedaudz agrāk, lai atrastu EVAL komandu. 1269 01:32:33,810 --> 01:32:36,610 Dažas lietas iet ātrāk. 1270 01:32:36,610 --> 01:32:38,860 Viena pieeja ir meklēt virkni. 1271 01:32:38,860 --> 01:32:40,360 Jūs varat izmantot peidžeri. 1272 01:32:40,360 --> 01:32:49,080 Peidžeri ir slīpsvītra meklēt komandu vai virknes iekšpusē peidžeri darbību. 1273 01:32:49,080 --> 01:32:52,830 Man pēc noklusējuma izmantos peidžeri, nu vairāk vai mazāk. 1274 01:32:52,830 --> 01:32:56,560 Es nezinu, ja jūs esat pazīstami ar tiem, bet tie var parādīt failus pamazām. 1275 01:32:56,560 --> 01:33:00,550 Esmu bijis, izmantojot mazāk, lai parādītu šo konkrēto failu, mēs esam ieguvuši šeit. 1276 01:33:00,550 --> 01:33:03,300 Jūs varat meklēt iekšā tur. 1277 01:33:03,300 --> 01:33:04,880 Jūs varat mēģināt izmantojot dažādus meklēšanas virknes. 1278 01:33:04,880 --> 01:33:08,420 Arī man lapas dažādas operētājsistēmas nevar būt vienādi. 1279 01:33:08,420 --> 01:33:11,130 Tie var būt atsevišķas lapas CSH un tcsh. 1280 01:33:11,130 --> 01:33:14,500 Viņi nav uz Mac, bet tie varētu būt, ja tās ir atsevišķas komandas. 1281 01:33:14,500 --> 01:33:19,000 Ja sh nav īsti zvanīt Bash, ka, iespējams, varētu būt atsevišķs cilvēks lapā. 1282 01:33:19,000 --> 01:33:25,820 Dažas sistēmas ir atsevišķas cilvēks lapas tikai par C-shell iebūvētās komandas. 1283 01:33:25,820 --> 01:33:30,250 Dažreiz, ja jūs vēlaties, lai lasītu aprakstu iebūvētu komandu 1284 01:33:30,250 --> 01:33:35,350 tas ir arī ceļā, piemēram, atbalss, jums ir nepieciešams, lai izlasītu man lapu par šo komandu par echo 1285 01:33:35,350 --> 01:33:37,610 lai noteiktu, kā tā darbosies kā iebūvētu komandu 1286 01:33:37,610 --> 01:33:39,760 pat ja jūs neesat zvanot iebūvēto komandu. 1287 01:33:41,630 --> 01:33:46,090 Tas ir trūkums operētājsistēmas kopumā, ne tikai attiecībā uz čaumalas, 1288 01:33:46,090 --> 01:33:50,710 lai gan čaumalas, jo īpaši cilvēks, lapas ir diezgan garš, 1289 01:33:50,710 --> 01:33:56,180 daļēji tāpēc, ka tie esam pievienojuši noderīgas funkcijas, lai tiem, kas var būt pozitīva. 1290 01:33:56,180 --> 01:34:00,290 Labi. Vai ir kādi jautājumi? Jebkuri jautājumi vēlaties audzināt? 1291 01:34:00,290 --> 01:34:03,390 Kaut kas attiecas uz šo lietu? 1292 01:34:04,540 --> 01:34:07,100 Nu, tas ir bijis ļoti patīkami runāt ar jums visiem. 1293 01:34:07,100 --> 01:34:09,690 Es ceru, ka jums kaut kas no šī semināra 1294 01:34:09,690 --> 01:34:13,080 , kas būs noderīga, lai jūs, jūsu nākotnes centienos. 1295 01:34:17,330 --> 01:34:19,000 [CS50.TV]