1 00:00:00,000 --> 00:00:02,320 >> [Seminar - Unix Shells, Alanlar] 2 00:00:02,320 --> 00:00:04,180 [Douglas Kline - Harvard Universiteti] 3 00:00:04,180 --> 00:00:07,160 [Bu CS50 edir. - CS50.TV] 4 00:00:07,160 --> 00:00:12,770 >> Bu gün mövzu Unix shell edir. 5 00:00:12,770 --> 00:00:20,600 Mən Douglas Kline, ekspert və ya shell ən azı əsaslı səlahiyyətli istifadəçi deyiləm. 6 00:00:20,600 --> 00:00:25,280 A shell kompüter əməliyyat sistemi üçün istifadəçi üçün interfeys. 7 00:00:25,280 --> 00:00:29,580 Adı, bir heyvan shell fərqli olaraq yanlış 8 00:00:29,580 --> 00:00:34,890 ağır və qoruyucu olan, kompüter shell ünsiyyət üçün imkan verir. 9 00:00:34,890 --> 00:00:39,120 Belə ki, məsaməli membran yəqin ki, daha yaxşı bir məcaz olardı. 10 00:00:39,120 --> 00:00:44,500 >> Unix üçün orijinal shell Bourne shell edir. 11 00:00:44,500 --> 00:00:46,450 Bourne B-O-U-R-N-E yazıldığına. 12 00:00:46,450 --> 00:00:49,770 Bourne, Unix orijinal müəlliflərindən biri idi 13 00:00:49,770 --> 00:00:51,700 və belə shell onun adını daşıyır. 14 00:00:51,700 --> 00:00:54,850 Bir komanda kimi shell adı sadəcə sh edir. 15 00:00:54,850 --> 00:00:57,400 Ki, həyata keçirə bilər, komanda var. 16 00:00:57,400 --> 00:01:00,810 Bu shell giriş başlayır. 17 00:01:00,810 --> 00:01:04,459 Siz kompüter daxil zaman, shell yalnız, sizin üçün çalışan başlayır 18 00:01:04,459 --> 00:01:06,820 və sizin əmrləri görür nə var. 19 00:01:06,820 --> 00:01:09,790 O, həmçinin digər vaxtlarda başlaya bilərsiniz. 20 00:01:09,790 --> 00:01:16,780 Heç bir başqa göstəricisi ilə pəncərə yetişdirmək varsa, bu sizin üçün bir shell başlayacaq. 21 00:01:16,780 --> 00:01:20,450 Ki, bir pəncərə getmək və əmrləri yazaraq başlaya bilərsiniz ki, necə 22 00:01:20,450 --> 00:01:23,960 və s var ki, pəncərə daxil etmirdi. 23 00:01:23,960 --> 00:01:26,670 Bundan əlavə, bir uzaq giriş əgər, 24 00:01:26,670 --> 00:01:30,250 o uzaq kompüter bir shell başlayacaq. 25 00:01:30,250 --> 00:01:44,310 Və bu interaktiv shell olmadan funksiyanı çalıştırmak mümkündür. 26 00:01:44,310 --> 00:01:48,990 Ki, cari əməliyyat çərçivəsində demək olar, 27 00:01:48,990 --> 00:01:50,700 və bu da uzaq bir əməliyyat ola bilər. 28 00:01:50,700 --> 00:01:52,900 Siz başqa bir kompüter üçün bir komanda göndərmək bilər, 29 00:01:52,900 --> 00:01:55,460 edən bir shell başlayaraq daxildir. 30 00:01:55,460 --> 00:01:57,760 Əslində, bu, bir shell başlayaraq daxil var 31 00:01:57,760 --> 00:02:01,740 ki, son məqsədi deyil, hətta. 32 00:02:05,310 --> 00:02:12,350 Bir şey bu kimi başlayır, o, mütləq yeni bir shell başlamaq deyil. 33 00:02:12,350 --> 00:02:17,430 Yeni bir pəncərə yetişdirmək varsa, bu redaktoru yetişdirmək demək mümkündür 34 00:02:17,430 --> 00:02:18,940 və ya digər komanda. 35 00:02:18,940 --> 00:02:20,560 Bu halda, redaktoru sıfırdan başlayacaq. 36 00:02:20,560 --> 00:02:22,930 Redaktoru başa zaman, pəncərə bitir. 37 00:02:22,930 --> 00:02:24,620 Bu bir az qeyri-adi, lakin bu edilə bilər. 38 00:02:24,620 --> 00:02:27,140 Belə hallarda, bir shell olmayacaq. 39 00:02:27,140 --> 00:02:31,890 Belə ki, mütləq bir pəncərə və ya bir belə proqram shell up gətirəcək işi deyil. 40 00:02:31,890 --> 00:02:34,030 >> Shell əmrləri çözümler. 41 00:02:34,030 --> 00:02:40,900 Təhlil müxtəlif elementləri müəyyən edilməsi və onları təsnif deməkdir. 42 00:02:40,900 --> 00:02:43,470 Bir komanda çərçivəsində, siz yazın ki, tam string, 43 00:02:43,470 --> 00:02:47,310 icra ediləcək 1 və ya daha çox tək əmrləri olacaq. 44 00:02:47,310 --> 00:02:50,050 Digər elementlər arqumentlər ola bilər. 45 00:02:50,050 --> 00:02:55,020 Də komanda icrasını təsir edən xüsusi simvol ola bilər. 46 00:02:55,020 --> 00:02:59,710 Onlar ekran çox başqa bir çıxış göndərə bilərsiniz 47 00:02:59,710 --> 00:03:01,750 komanda adətən ekran göndərmək əgər. 48 00:03:01,750 --> 00:03:04,390 Bu giriş yönlendirme bilər, həm də başqa şeylər edə bilərsiniz. 49 00:03:04,390 --> 00:03:08,120 S müxtəlif rəmzləri, simvol və var. 50 00:03:08,120 --> 00:03:13,600 Təhlil o şeyi aşkar və şərh edir. 51 00:03:13,600 --> 00:03:19,560 >> İndi heç bir daha çox insanlar var ildən daha çox güman ki çox suallar var, əgər, 52 00:03:19,560 --> 00:03:24,620 biz burada mənim növbəti səhifə getmək olacaq. 53 00:03:24,620 --> 00:03:29,170 >> Mən Bourne shell ilkin shell olduğunu bildirib. 54 00:03:29,170 --> 00:03:31,550 Başqaları var. 55 00:03:31,550 --> 00:03:34,520 Biri C-shell edir. Əmr csh edir. 56 00:03:34,520 --> 00:03:36,830 Adı C-shell sözləri yalnız bir oyun deyil. 57 00:03:36,830 --> 00:03:41,260 Bu shell ortalarında-1970-ci illərdə Berkeley Unix ilə tanış oldu. 58 00:03:41,260 --> 00:03:44,830 Berkeley Unix Unix inkişafında seminal hadisə idi. 59 00:03:44,830 --> 00:03:48,770 Bu böyük bir inqilab idi və bu shell tətbiqi daxildir. 60 00:03:48,770 --> 00:03:50,790 Sözləri ki, oyun üçün səbəb, C-shell, 61 00:03:50,790 --> 00:03:56,490 , C-shell C dil xatırladan bu bəzi xüsusiyyətləri var ki, 62 00:03:56,490 --> 00:03:59,740 olan Bourne shell yoxdur - 63 00:03:59,740 --> 00:04:02,140 və ya o vaxt yox idi. 64 00:04:02,140 --> 00:04:05,190 TC-shell də var. 65 00:04:05,190 --> 00:04:07,360 Bu C-shell bir superset edir. 66 00:04:07,360 --> 00:04:11,470 Bu, interaktiv istifadə üçün faydalı olan bir çox əlavə funksiyalar var 67 00:04:11,470 --> 00:04:16,050 Belə ki, tarixi mexanizmi əmrləri xatırladaraq kimi 68 00:04:16,050 --> 00:04:18,459 Mən bir qədər sonra təsvir lazımdır - 69 00:04:18,459 --> 00:04:23,120 sadə bir şəkildə, bir redaktoru sonra modellenmiştir. 70 00:04:23,120 --> 00:04:29,170 Bu da bir daha komanda qısa bir əsas simli lər üçün imkan verən cilddən var. 71 00:04:29,170 --> 00:04:31,440 Biz bu gün ki, daxil əldə etmək fikrində deyilik. 72 00:04:31,440 --> 00:04:33,650 Bu proqramlaşdırma üçün faydalı olan bəzi xüsusiyyətləri vardır. 73 00:04:33,650 --> 00:04:37,020 Lakin, C-shell tez-tez shell proqramlaşdırma üçün istifadə olunur. 74 00:04:37,020 --> 00:04:39,080 Shell proqramları, siz artıq bilirsiniz olmasaydı, 75 00:04:39,080 --> 00:04:41,690 shell xüsusiyyətləri ibarətdir proqramları var. 76 00:04:41,690 --> 00:04:43,220 Siz proqramları bu run bilər. 77 00:04:43,220 --> 00:04:46,760 Siz fayla shell əmrləri bir dəstə yazmaq və fayl icra. 78 00:04:46,760 --> 00:04:49,760 Siz tərtib etmək lazım deyil. Bu yorum dilidir. 79 00:04:49,760 --> 00:04:57,320 Bu orijinal C-shell, CSH yalnız istinad bilər-ci ildən söz C-shell, indi birmənalı deyil 80 00:04:57,320 --> 00:05:01,200 və ya Tcsh daxil olmaqla, bütün C-mərmi, üçün. Bu bir az qeyri-müəyyən var. 81 00:05:01,200 --> 00:05:08,250 >> A sonra shell proqramçı adına Korn shell, ksh, Korn edir. 82 00:05:08,250 --> 00:05:14,160 Bu shell 1 shell daxil cəhd 83 00:05:14,160 --> 00:05:16,960 interaktiv istifadə üçün C-shell üstünlükləri 84 00:05:16,960 --> 00:05:19,230 və Bourne proqramlaşdırma shell. 85 00:05:19,230 --> 00:05:25,440 Azlıq - Bu, bəzi insanlar tərəfindən interaktiv shell kimi istifadə edilmişdir. 86 00:05:25,440 --> 00:05:32,050 Daha sonra isə, başqa giriş var idi, Bash shell, BASH, 87 00:05:32,050 --> 00:05:35,290 yenidən sözlər bir oyun, Bourne yenidən shell. 88 00:05:35,290 --> 00:05:43,830 Bu Bourne shell uzadılması. Korn shell edir. İkisi də var. 89 00:05:43,830 --> 00:05:48,100 Bu qoşulduqları və Korn shell eyni məqsədlərə var C-shell-nin 90 00:05:48,100 --> 00:05:50,980 1 shell və Bourne shell-nin üstünlükləri. 91 00:05:50,980 --> 00:05:56,810 Korn shell aksesuarları çoxu da Bash daxil edilir. 92 00:05:56,810 --> 00:06:00,710 Bash, lakin, daha çox var və buna görə də üstünlük verilir. 93 00:06:00,710 --> 00:06:05,180 The Bourne yenidən shell və Korn shell Bourne tipli mərmi deyilir 94 00:06:05,180 --> 00:06:07,730 onlar Bourne shell-nin xüsusiyyətləri daxildir, çünki, 95 00:06:07,730 --> 00:06:11,180 C-mərmi ilə bir cəhətdən zidd olan. 96 00:06:11,180 --> 00:06:15,520 , Bəzi məhdud istifadə üçün nəzərdə başqa mərmi var 97 00:06:15,520 --> 00:06:20,670 bəlkə bəzi əmrləri məhdud, bəlkə ixtisaslaşdırılmış məqsədləri, tez-tez istifadə. 98 00:06:20,670 --> 00:06:24,240 Okay. >> Burada Next item. 99 00:06:31,300 --> 00:06:38,970 The Bash shell Linux müxtəlif formaları ilə bağlı olmuşdur. 100 00:06:38,970 --> 00:06:41,550 Mən ki, hər formada doğru əgər əmin deyiləm. 101 00:06:41,550 --> 00:06:43,280 , Bir çox formaları var və mən onları bütün istifadə deyil 102 00:06:43,280 --> 00:06:46,870 lakin mən istifadə ki o bu ilə bağlı olmuşdur. 103 00:06:46,870 --> 00:06:49,670 İndiyə qədər mən bildiyiniz kimi, Bash haqqında heç bir şey yoxdur 104 00:06:49,670 --> 00:06:52,210 Linux ilə bir daha uyğun edir 105 00:06:52,210 --> 00:06:55,020 shell və əməliyyat sistemi hər hansı digər birləşməsi daha. 106 00:06:55,020 --> 00:06:59,690 Mən bu yəqin ki, yalnız proqramçılar istəklərinə əks etdirir düşünürəm. 107 00:06:59,690 --> 00:07:07,500 Bu Linux ilə bağlı olmuşdur KSH üçün Bash üstünlük üçün başqa bir səbəbdir ki, 108 00:07:07,500 --> 00:07:11,820 şeylər yazılması ehtimal olunur və bu dağılma ehtimalı var-ci ildən. 109 00:07:11,820 --> 00:07:15,410 Mən sonra sizə ki, digər səbəbləri verəcəyik. 110 00:07:15,410 --> 00:07:21,330 Bourne shell scripts Korn shell və ya Bash altında run lazımdır. 111 00:07:21,330 --> 00:07:22,650 Siz Bourne shell üçün bir şey yazmaq, 112 00:07:22,650 --> 00:07:26,180 siz yəqin ki, KSH və ya bash altında icra edə bilər. 113 00:07:26,180 --> 00:07:30,610 Korn shell scripts yəqin Bash altında davam edəcək, amma ki, təmin edə bilməz. 114 00:07:30,610 --> 00:07:36,040 Sonra burada, C-shell scripts TC-shell altında run lazımdır. 115 00:07:38,850 --> 00:07:41,690 The C-shell həqiqətən geniş scripting üçün istifadə heç vaxt 116 00:07:41,690 --> 00:07:48,110 Bourne shell və sonra Bourne tipli mərmi ki, məqsəd üçün üstünlük yana. 117 00:07:48,110 --> 00:07:50,620 Belə ki, həqiqətən, bütün vacib deyil. 118 00:07:50,620 --> 00:07:53,480 Çoxdan yazılmış olan Bourne shell scripts bir çox var 119 00:07:53,480 --> 00:07:56,860 Korn shell və ya Bourne yenidən shell əvvəl təqdim olunub. 120 00:07:56,860 --> 00:07:59,300 O, istifadə hələ də əməliyyat sistemləri hissəsi, 121 00:07:59,300 --> 00:08:01,590 Siz əməliyyat sistemi baxmaq əgər belə siz onları tapa bilərsiniz 122 00:08:01,590 --> 00:08:03,760 və ya bəzi köhnə proqramlaşdırma paketləri. 123 00:08:03,760 --> 00:08:12,840 >> Bash əməliyyat sistemləri üçün Lingua Franca bir növ olmaq müəyyən dərəcədə edir. 124 00:08:12,840 --> 00:08:17,580 Artıq Windows və VMS uzadıldı edilmişdir. 125 00:08:17,580 --> 00:08:20,440 VMS, bilmirəm halda, xüsusi əməliyyat sistemi 126 00:08:20,440 --> 00:08:25,480 əsasən pərdə arxasında, hələ də istifadə olan Digital Equipment Corporation. 127 00:08:25,480 --> 00:08:29,250 Və bir neçə müxtəlif əməliyyat sistemi çalışan olacaq əgər, 128 00:08:29,250 --> 00:08:31,110 güman ki, insanlar üçün shift edirlər. 129 00:08:31,110 --> 00:08:33,840 Lakin bu inkişaf nisbətən yenidir. 130 00:08:33,840 --> 00:08:39,490 Bu, yalnız başlayan, belə ki, bu, həqiqətən lingua franca o cür olmaq çıxmaq əgər mən proqnozlaşdırmaq bilməz. 131 00:08:39,490 --> 00:08:43,539 Həmçinin, fayl pathnames və kitabxanalar fərqlənir, çünki 132 00:08:43,539 --> 00:08:46,210 Bu müxtəlif əməliyyat sistemləri arasında, 133 00:08:46,210 --> 00:08:50,250 bir əməliyyat sistemi bir Bash script yazmaq ola bilər 134 00:08:50,250 --> 00:08:51,840 və sonra başqa bir axır. 135 00:08:51,840 --> 00:08:54,440 Siz müxtəlif Unix, Linux arasında hərəkət etmək lazımdır 136 00:08:54,440 --> 00:08:59,020 Mac OS əməliyyat sistemi lakin mütləq Windows və ya VMS üçün. 137 00:08:59,020 --> 00:09:01,390 Siz fayl pathname təsviri dəyişdirmək üçün ola bilər, 138 00:09:01,390 --> 00:09:03,180 və bəzi kitabxanalar müxtəlif ola bilər, 139 00:09:03,180 --> 00:09:05,230 bəzi əmrləri işləmək yolu təsir göstərə bilər 140 00:09:05,230 --> 00:09:09,730 və ya necə dəlilləri və bu kimi emal. 141 00:09:09,730 --> 00:09:19,230 Bundan əlavə, burada başqa ehtiyatla heç bir təminat yoxdur ki, 142 00:09:19,230 --> 00:09:23,570 ki, qeyd etdiyiniz bütün müxtəlif mərmi - Bourne shell, C-shell, 143 00:09:23,570 --> 00:09:29,880 TC-shell, Korn shell, Bourne yenidən shell - bir Unix altında mövcud olacaq 144 00:09:29,880 --> 00:09:33,750 və ya Linux və ya Mac OS kompüter. 145 00:09:33,750 --> 00:09:35,620 Onlar sadəcə ola bilər. 146 00:09:35,620 --> 00:09:38,300 Ki, burada xəbərdarlıq biri. 147 00:09:38,300 --> 00:09:41,490 Şeyi hər yerdə işləmək istədiyiniz çünki, burada talehsiz məhdudiyyət var 148 00:09:41,490 --> 00:09:44,380 lakin təəssüf ki, siz ki, etibar edə bilməz. 149 00:09:44,380 --> 00:09:47,230 Okay. >> Burada Next biridir. 150 00:09:50,280 --> 00:09:54,370 Gəlin bir shell script yazmaq istəyirəm ki, demək, 151 00:09:54,370 --> 00:09:57,170 shell əmrləri ibarət bir proqram. 152 00:09:57,170 --> 00:10:01,200 Siz əmrləri yazmaq bir fayl onları qoymaq, və fayl icra. 153 00:10:01,200 --> 00:10:04,230 Nə dəlilləri daxil istəyirsinizsə? 154 00:10:04,230 --> 00:10:09,650 Shell əməliyyatlarının halda, dəlilləri parametrləri və ya mövqeli parametrləri deyilir 155 00:10:09,650 --> 00:10:15,940 və onlar bir dollar işarəsi və say, $ 1, $ 2 adlı olacaq. 156 00:10:15,940 --> 00:10:27,000 Script bu adı var ki, mənim ilk arqument arqument 1 ola bilər 157 00:10:27,000 --> 00:10:30,540 və mənim ikinci, arqument 2 ola bilər 158 00:10:30,540 --> 00:10:34,110 və mənim script daxilində Mən bu şeyi istinad etmək istəyirsinizsə - 159 00:10:34,110 --> 00:10:36,810 Mən, həqiqətən run etmək niyyətində deyiləm ildən bu silmək edək - 160 00:10:36,810 --> 00:10:42,160 mənim script daxilində Mən arg1 müraciət $ 1 ola bilər, 161 00:10:42,160 --> 00:10:45,890 Ki, yol, arg2 çıxmaq edəcək $ 2,. 162 00:10:45,890 --> 00:10:50,080 Belə ki, həmin simvol dəlilləri müraciət mövcuddur, 163 00:10:50,080 --> 00:10:52,390 və həmin mərmi bütün müraciət. 164 00:10:52,390 --> 00:10:56,520 Bundan əlavə, digər simvol var. 165 00:10:56,520 --> 00:11:01,700 $ * Bütün arqument siyahısı, onların hamısı aiddir. 166 00:11:01,700 --> 00:11:05,390 $ # Dəlilləri sayına aiddir. 167 00:11:05,390 --> 00:11:07,910 Yenə də, bu bütün mərmi aiddir. 168 00:11:07,910 --> 00:11:15,540 Həmin simvol, * və #, başqa yerlərdə də bu mənaları ilə istifadə edilə bilər. 169 00:11:15,540 --> 00:11:17,940 Biz nəzərə almaq olmaz. 170 00:11:17,940 --> 00:11:20,460 >> Shell belirteci line. Ki, nədir? 171 00:11:20,460 --> 00:11:27,760 Siz bir script yazdıq və bir shell üçün deyək və siz run etmək istəyirəm. 172 00:11:27,760 --> 00:11:33,500 Necə əməliyyat sistemi çalıştırmanızı istifadə edəcək shell nə bilirik? 173 00:11:33,500 --> 00:11:37,230 Bir nöqtədə bu Bourne shell run ki, güman bilər 174 00:11:37,230 --> 00:11:39,440 başqa demək olmasaydı, 175 00:11:39,440 --> 00:11:41,730 lakin insanlar artıq Bourne scripts çox shell yazılı deyil 176 00:11:41,730 --> 00:11:43,750 və hətta artıq etibar edə bilməz. 177 00:11:43,750 --> 00:11:48,740 Belə ki, burada biz burada bir shell belirteci xətt var. 178 00:11:48,740 --> 00:11:52,450 Bu Bash göstərir. 179 00:11:52,450 --> 00:11:56,750 Bu pathname / bin / bash onu ifadə Qeyd edək ki,. 180 00:11:56,750 --> 00:12:02,870 Kompüter Bash shell varsa, lakin bin kataloq / bin, bu iş olmayacaq. 181 00:12:02,870 --> 00:12:06,870 Ki, burada başqa seçmələrində başqa ehtiyatla var. 182 00:12:06,870 --> 00:12:09,500 Funt işarəsi comment line karakter. 183 00:12:09,500 --> 00:12:12,300 Yəni bütün mərmi aiddir. 184 00:12:12,300 --> 00:12:18,610 Burada xüsusi halda, #! bir script başında, xüsusi bir haldır. 185 00:12:18,610 --> 00:12:23,410 Bu script çalıştırmak üçün olan shell müəyyənləşdirir. 186 00:12:23,410 --> 00:12:30,230 Mən deyən kimi, eyni yer / bin ola bilər. 187 00:12:30,230 --> 00:12:34,880 Bundan əlavə, burada başqa bir şey var. 188 00:12:34,880 --> 00:12:41,250 Siz yalnız heç bir ünlem və pathname ilə funt işarəsi istifadə etsəniz, 189 00:12:41,250 --> 00:12:44,640 ki, bir C-shell göstərilməlidir. 190 00:12:44,640 --> 00:12:48,300 I təmin edə deyiləm, çünki Lakin, mən bunu tövsiyə etmirik 191 00:12:48,300 --> 00:12:49,750 həmişə işləyəcək. 192 00:12:49,750 --> 00:12:52,220 Bir C-shell istəyirsinizsə, belə demək daha yaxşı olardı. 193 00:12:52,220 --> 00:12:58,450 Sonra burada daha confusing bir şey var. 194 00:12:58,450 --> 00:13:03,940 Əgər belə / bin / bash kimi shell belirteci xətt istifadə edin 195 00:13:03,940 --> 00:13:07,070 ki, shell, orada mövcud deyil 196 00:13:07,070 --> 00:13:10,680 xüsusi kompüter / bin / bash kimi bir şey var, 197 00:13:10,680 --> 00:13:14,330 ya fərqli bir yeri var, çünki Bash və ya deyil, çünki, 198 00:13:14,330 --> 00:13:17,450 Siz qaçdı script mövcud deyil ki, belirten bir səhv almaq lazımdır. 199 00:13:17,450 --> 00:13:21,510 Və əlbəttə, sizin script var, belə ki, səhv mesajı confusing edir. 200 00:13:21,510 --> 00:13:24,810 Əməliyyat sistemi, siz ki, səhv verir ki, səbəbi 201 00:13:24,810 --> 00:13:28,370 və ya, daha dəqiq, bu çalışan sizin interaktiv shell ki, səhv verir ki, 202 00:13:28,370 --> 00:13:33,510 Bu script adı istifadə edən komanda, məlumatına edir. 203 00:13:33,510 --> 00:13:36,920 Bu komanda səmərəli script adı ilə shell çağırıb. 204 00:13:36,920 --> 00:13:39,330 Ki, confusing səhv mesajı almaq harada. 205 00:13:39,330 --> 00:13:42,980 Shell script zəng etmək üçün başqa yol 206 00:13:42,980 --> 00:13:45,910 burada, command line shell ifadə edir. 207 00:13:45,910 --> 00:13:52,510 Bu əmr edir. Bu Bash run və sonra Bash mənim çalıştırmanızı deyir. 208 00:13:52,510 --> 00:13:55,680 Ki, bir belirteci xətt üstün tutacaq, 209 00:13:55,680 --> 00:14:02,090 və bu müxtəlif pathnames təmin etmək üçün imkan xüsusiyyət var. 210 00:14:02,090 --> 00:14:04,840 Yalnız bir komanda versələr, əməliyyat sistemi ki, komanda üçün baxmaq 211 00:14:04,840 --> 00:14:06,410 müxtəlif yerlərdə. 212 00:14:06,410 --> 00:14:08,820 Əgər varsa, onu tapmaq lazımdır. 213 00:14:08,820 --> 00:14:12,290 Kompüter bu tesis nin yerdə Bash tapmaq və onu davam edəcək, 214 00:14:12,290 --> 00:14:15,470 belə ki, onu tapır harada narahat, sonra ehtiyac yoxdur. 215 00:14:15,470 --> 00:14:17,360 Digər potensial narahatlıq, burada var 216 00:14:17,360 --> 00:14:20,830 Olsa olsa da mümkün olan Bash-dən çox 1 versiyası var sanki. 217 00:14:20,830 --> 00:14:23,540 Belə ki, bu şeyi ilə məşğul olmaq üçün başqa yol var. 218 00:14:23,540 --> 00:14:30,480 Belirteci xətləri hər hansı bir shell zəng edə bilərsiniz. 219 00:14:30,480 --> 00:14:34,480 Onlar həmçinin mərmi başqa şeylər zəng edə bilərsiniz. 220 00:14:34,480 --> 00:14:37,940 Mən burada nümunələri stream baş redaktoru olan, lakin olunur; 221 00:14:37,940 --> 00:14:39,900 AWK, bir model emal dili; 222 00:14:39,900 --> 00:14:43,680 və perl, bir çox yüksək inkişaf etmiş scripting dili. 223 00:14:43,680 --> 00:14:47,570 Siz başında həmin proqramların birini göstərən bir belirteci xətt qoymaq, 224 00:14:47,570 --> 00:14:51,270 bu proqram birbaşa getmək çox bir shell başlayaraq edəcək. 225 00:14:51,270 --> 00:14:54,030 Həmin proqramlar onların qabiliyyətlərinə məhdudiyyətlər var. 226 00:14:54,030 --> 00:14:58,790 Perl çox qadirdir. Sed redaktoru. Bu, sadəcə redaktə kənarda şeyi edə bilərsiniz. 227 00:14:58,790 --> 00:15:03,300 Amma bu proqram üçün çətin ola bilər. 228 00:15:03,300 --> 00:15:09,670 Bundan əlavə, script dəlilləri və stuff keçən mümkün və ya confusing ya. 229 00:15:09,670 --> 00:15:15,030 Belə ki, həmin hallarda, awk və ya lakin, bu, ən azı mənim təcrübəsi var 230 00:15:15,030 --> 00:15:18,910 bir shell script və zəng AWK yazmaq üçün üstünlük və ya shell script lakin 231 00:15:18,910 --> 00:15:24,660 daha AWK zəng və ya script belirteci xətt kimi lakin daha. 232 00:15:24,660 --> 00:15:26,980 Dediyim kimi Perl, bir çox diversifikasiya dilidir. 233 00:15:26,980 --> 00:15:30,050 Siz perl interaktiv əmrləri run bilməz, 234 00:15:30,050 --> 00:15:32,660 hansı sizin inkişaf edirik ki, scripts hissələri test bilməz o deməkdir ki, 235 00:15:32,660 --> 00:15:33,970 interaktiv onlara çalışan. 236 00:15:33,970 --> 00:15:36,160 Lakin, bir çox qadir dil var 237 00:15:36,160 --> 00:15:40,960 və bir çox geniş istifadə alət inkişaf etmişdir. 238 00:15:40,960 --> 00:15:45,720 Bu yalnız belirteci xətləri haqqında ara sözü bir az var. 239 00:15:45,720 --> 00:15:50,610 >> Bütün və ya Linux ən formaları - yenə, mən bütün ki, müəyyən ola bilməz - 240 00:15:50,610 --> 00:15:57,900 Siz CSH yazın əgər və Mac OS, siz Tcsh almaq 241 00:15:57,900 --> 00:16:00,570 və siz yazın əgər bash almaq sh. 242 00:16:00,570 --> 00:16:05,020 Onlar bu mərmi daha inkişaf etmiş versiyasını vermək üçün orada çalışır, 243 00:16:05,020 --> 00:16:07,940 lakin bu confusing ola bilər. 244 00:16:07,940 --> 00:16:16,720 Siz Tcsh istifadə edərək, bir script yazmaq və ya zəng zamanı Bash xüsusiyyətləri varsa csh və ya sh 245 00:16:16,720 --> 00:16:22,230 və sonra, Tcsh və ya Bash olmayan bir kompüter çalıştırmak üçün cəhd 246 00:16:22,230 --> 00:16:25,050 əmrləri orada var, əgər bəzi səhvlər almaq bilər 247 00:16:25,050 --> 00:16:27,970 olan mərmi tanımırıq. 248 00:16:27,970 --> 00:16:34,120 Bundan əlavə, sizin yerli bilgisayarınızda shell çağırılıb ola bilər 249 00:16:34,120 --> 00:16:37,700 sh və ya csh kimi zəng və sonra daha inkişaf etmiş mərmi əldə. 250 00:16:37,700 --> 00:16:41,440 Siz hətta daha inkişaf etmiş shell istifadə etdiyiniz ki, hesab edə bilər. 251 00:16:41,440 --> 00:16:45,670 Belə ki, bu potensial tələ edir. 252 00:16:45,670 --> 00:16:50,290 Necə ki, siz sh yazın əgər Bash almaq ki, müəyyən edilir 253 00:16:50,290 --> 00:16:55,580 Siz CSH yazın əgər tsch almaq? 254 00:16:55,580 --> 00:16:59,940 Links adlanan bu kompüter şeylər var 255 00:16:59,940 --> 00:17:06,460 eyni şey müraciət adları fayl qoşula bilər. 256 00:17:06,460 --> 00:17:12,180 Bu da eyni faylı və ya onun məqsədi başqa bir fayla istinad edir bir fayl üçün 2 adları ola bilər. 257 00:17:12,180 --> 00:17:17,550 Onlar ağır və rəmzi links adlı edirik. Biz bu gün artıq gedən olmaz. 258 00:17:17,550 --> 00:17:21,619 1 fayl sh, 1 fayl Bash - - də ayrı-ayrı faylları ola bilər 259 00:17:21,619 --> 00:17:23,880 lakin onlar həm də Bash axır. 260 00:17:23,880 --> 00:17:29,350 Sonra başqa seçmələrində burada var. 261 00:17:29,350 --> 00:17:42,640 Bir adı bu örtüklərin bir zəng edirsinizsə, 262 00:17:42,640 --> 00:17:46,640 Siz başqa bir adı ilə zəng kimi eyni funksionallığı almaq istədiyiniz hesab edə bilər. 263 00:17:46,640 --> 00:17:49,700 Yaxşı ki, həqiqətən, mütləq doğru deyil. 264 00:17:49,700 --> 00:17:55,020 Bu əmrləri onlar adlanan tərəfindən adı yoxlamaq bilər 265 00:17:55,020 --> 00:18:00,020 və onlar ki, adı əsasında fərqli davranmaq bilər. 266 00:18:00,020 --> 00:18:02,740 Bir standart uyğun çalışır məsələlər ola bilər. 267 00:18:02,740 --> 00:18:06,060 Əgər bəziləri POSIX standart və ya digər eşitmişəm bilər, 268 00:18:06,060 --> 00:18:08,730 bəlkə digər xüsusiyyətləri. 269 00:18:08,730 --> 00:18:14,520 Bu command line dəlilləri ilə bəzən seçilə bilər 270 00:18:14,520 --> 00:18:17,310 və ya shell dəyişənlər qəbulu ilə. 271 00:18:17,310 --> 00:18:22,170 Sh və ya bash kimi zəng həqiqətən fərqli icrası gətirib çıxara bilər 272 00:18:22,170 --> 00:18:25,300 siz icra edirik ki, eyni fayl belə. 273 00:18:25,300 --> 00:18:31,800 Hesab başqa bir şey, başqa bir kompüter hətta əgər Tcsh və ya Bash var ki, 274 00:18:31,800 --> 00:18:35,310 onlar yerli bilgisayarınızda kimi onlar bağlı əgər 275 00:18:35,310 --> 00:18:37,990 Bir Linux və ya Mac OS yerli kompüter varsa, 276 00:18:37,990 --> 00:18:45,630 sonra yenidən sizə sh və ya csh zəng shell, siz tercih ola bilər ki, bir almaq lazımdır. 277 00:18:50,430 --> 00:19:01,130 Cari Bourne shell az Bash nisbətən aksesuarların var 278 00:19:01,130 --> 00:19:06,100 lakin orijinal Bourne shell keçmiş. 279 00:19:06,100 --> 00:19:09,690 Ki, nəticəsində, hətta indiki Bourne shell, sh, 280 00:19:09,690 --> 00:19:14,560 Bu Bash deyil hətta, C-shell yoxdur çox C dil daha bənzəyir. 281 00:19:14,560 --> 00:19:20,460 Bu C-shell ilk yaradılmışdır zaman doğru deyil, lakin bu yol inkişaf etmişdir. 282 00:19:20,460 --> 00:19:26,560 Siz burada qeyd edə bilər ki, Bourne shell istisna olmaqla, bütün bu shell adları 283 00:19:26,560 --> 00:19:30,640 csh, bash - - onlar olan shell göstərir üçün bir şey var 284 00:19:30,640 --> 00:19:32,550 lakin Bourne shell yalnız sh edir. 285 00:19:32,550 --> 00:19:34,910 Niyə? Ki, orijinal shell idi. 286 00:19:34,910 --> 00:19:37,770 Bu, sonra THE shell deyil, A shell idi 287 00:19:37,770 --> 00:19:41,090 Bu shell idi, başqa shell fərqləndirilməsi üçün heç bir səbəb var idi. 288 00:19:41,090 --> 00:19:45,030 Ki, adı var və hələ nə nə ki, var. 289 00:19:50,630 --> 00:19:58,990 Burada >> Bu top Mən var bir haqq-hesab üçün parol verilənlər bazası bir xətt 290 00:19:58,990 --> 00:20:01,680 başqa bir kompüter. 291 00:20:01,680 --> 00:20:08,300 Mən sizə, sonunda shell ki, iştirak edə bilərsiniz, belə ki, ad almaq üçün cəhd gedirəm. 292 00:20:09,720 --> 00:20:15,450 Bu parol verilənlər bazası bütün istifadəçilər üçün giriş xüsusiyyətləri keçirir. 293 00:20:15,450 --> 00:20:20,330 Əvvəlində siz artıq mina son 2 məktublar bilərsiniz olan istifadəçi adı edir. 294 00:20:20,330 --> 00:20:23,970 Burada sahələri colons ilə ayrılır. 295 00:20:23,970 --> 00:20:28,210 Son sahəsində, Gördüyünüz kimi, bin / Tcsh, shell edir. 296 00:20:28,210 --> 00:20:30,230 Bu shell belirteci var. 297 00:20:30,230 --> 00:20:33,240 Burada maraqlı bir şey var. 298 00:20:33,240 --> 00:20:36,950 Unix ilk inkişaf zaman, yalnız 1 shell var idi, 299 00:20:36,950 --> 00:20:38,350 belə ki, orada heç bir seçimi var idi. 300 00:20:38,350 --> 00:20:45,570 Belə ki, niyə onlar parol bazasında bir sahədə shell müəyyən imkan vermədi? 301 00:20:45,570 --> 00:20:47,920 Mən bilmirəm, lakin onlar etdi ki, uğurlu var. 302 00:20:47,920 --> 00:20:52,030 Bu parol verilənlər bazası formatında dəyişiklik etmək çox çətindir 303 00:20:52,030 --> 00:20:54,420 bir çox proqramlar formatında istinad çünki 304 00:20:54,420 --> 00:20:57,720 və yenidən etmək olardı. 305 00:20:57,720 --> 00:21:04,130 Onlar tarlanı daxil bir uğurlu və ya təsadüfi inkişaf var. 306 00:21:04,130 --> 00:21:12,780 Bir parol fayl line cür indiyə qədər mən bildiyiniz kimi bütün Unix və Linux kompüterlər istifadə olunur. 307 00:21:12,780 --> 00:21:14,650 Mac öz sistemi var. 308 00:21:14,650 --> 00:21:17,810 Bu, həqiqətən ki, formatında xətləri ilə bir parol fayl var 309 00:21:17,810 --> 00:21:21,060 istifadəçi xüsusiyyətləri müəyyən edilir yerləşir ki deyil. 310 00:21:21,060 --> 00:21:24,200 Orada başqa ara qeyd. 311 00:21:36,470 --> 00:21:46,020 Bir shell zəng edirsinizsə >> mövcud mərmi bir sub-shell kimi zəng edə bilərsiniz. 312 00:21:46,020 --> 00:21:50,480 Mən burada getmək əgər, nin bu şeyi qurtarmaq edək. 313 00:21:50,480 --> 00:21:53,350 Burada C-shell am. 314 00:21:56,830 --> 00:22:01,200 Dəqiq mənim shell müəyyən olan dəyişən, 315 00:22:01,200 --> 00:22:04,300 əslində həmişə çalıştırıyorsanız shell nə müəyyən bir etibarlı yol deyil, 316 00:22:04,300 --> 00:22:06,220 lakin bu halda deyil. 317 00:22:06,220 --> 00:22:08,040 Mən yalnız yazın əgər - 318 00:22:09,970 --> 00:22:12,470 İndi Bash oldum. 319 00:22:12,470 --> 00:22:19,540 Bəzi şeylər eyni olacaq. ls mənə əmrləri deyir. 320 00:22:19,540 --> 00:22:24,500 Mən geri C-shell, ls, eyni dayandırmaq yoxdur. Sağ? 321 00:22:24,500 --> 00:22:28,890 FG, ön, geri Bash shell. 322 00:22:28,890 --> 00:22:38,290 geri C-shell pudra, cari directory,. 323 00:22:38,290 --> 00:22:43,180 pudra, müxtəlif directory - bu halda həqiqətən fərqli bir directory. 324 00:22:43,180 --> 00:22:45,110 Bu eyni kataloq var. 325 00:22:45,110 --> 00:22:50,000 Mən burada bir komanda zəng etmək istəyirsiniz edək: Ü ls. 326 00:22:50,000 --> 00:22:52,140 O nə edir? 327 00:22:52,140 --> 00:22:53,670 Ls əmr yerləşir ki, mənə deyir 328 00:22:53,670 --> 00:22:56,670 Mənə bir directory siyahı verir ki, bir ls yerləşir. 329 00:22:56,670 --> 00:23:01,460 Geri Bash shell gedək. Eyni şey cəhd edək. 330 00:23:01,460 --> 00:23:05,830 Hmm, maraqlı var, Ü: komanda tapılmadı. 331 00:23:05,830 --> 00:23:07,400 Niyə ki? 332 00:23:07,400 --> 00:23:11,570 Bu harada komanda C-shell üçün inşa edilmişdir. 333 00:23:11,570 --> 00:23:15,630 Bu başqa bir yerdə olan yaddaş oxumaq və icra edilməlidir ki, bir komanda deyil. 334 00:23:15,630 --> 00:23:20,310 The C-shell öz kodu hissəsinə icrasını köçürərək çalışır 335 00:23:20,310 --> 00:23:22,790 və bu Bash shell deyil. 336 00:23:22,790 --> 00:23:25,710 Belə ki, Bash, belə bir daxili əmr olmayan, onu tapmaq deyil, görünür, 337 00:23:25,710 --> 00:23:27,720 və biz bir səhv almaq. 338 00:23:27,720 --> 00:23:32,290 Belə ki, orada biz C-shell altında çalışan bir Bash shell var, və biz bir sub-shell zəng. 339 00:23:32,290 --> 00:23:38,480 Və yalnız siz merak etdiyiniz halda, Bash shell əmrləri yerləşən öz yolu var. 340 00:23:38,480 --> 00:23:42,590 hashed, daha sürətlə icra oluna bilər ki, istinad 341 00:23:42,590 --> 00:23:44,960 daha sürətlə aşkar olan. 342 00:23:44,960 --> 00:23:48,610 Ki, bu mərmi bəzi tikilmiş aksesuarların biri. 343 00:23:50,220 --> 00:23:54,200 >> Bourne tipli mərmi proqramlaşdırma üçün seçim edilir. 344 00:23:54,200 --> 00:23:57,300 Onlar, loops, şərti hesabatları kimi nəzarət strukturları var 345 00:23:57,300 --> 00:24:00,240 C kimi proqramlaşdırma dilləri istifadə edə bilər ki, əmrləri sort 346 00:24:00,240 --> 00:24:04,190 və ya nə dil. Bəlkə Java proqramlaşdırma və ya nə edirik. 347 00:24:04,190 --> 00:24:06,460 Shells o çox var. 348 00:24:06,460 --> 00:24:11,790 The Bourne tipli mərmi, xüsusilə Bash, daha çox var 349 00:24:11,790 --> 00:24:15,730 və onlar daha çox rahatlıq ilə nəzərdə tutulmuşdur. 350 00:24:15,730 --> 00:24:20,700 The Bash shell serialların var. Orijinal Bourne shell deyil. 351 00:24:20,700 --> 00:24:26,130 Belə ki, proqramlaşdırma üçün xeyli faydalı ola bilər. 352 00:24:26,130 --> 00:24:29,810 The C-shell həqiqətən serialların var, lakin bu digər funksiyalar bir çox yoxdur. 353 00:24:29,810 --> 00:24:33,450 The Bourne tipli mərmi sürətli icra edəcək 354 00:24:33,450 --> 00:24:36,520 onlar interaktiv istifadə üçün nəzərdə xüsusiyyətləri yoxdur, əgər. 355 00:24:36,520 --> 00:24:39,340 Siz bir məqsəd üçün hər şeyi aşağı yük, bu başqa məqsəd üçün onları aşağı yükler. 356 00:24:39,340 --> 00:24:41,520 Var ki, ticarət-off var. 357 00:24:41,520 --> 00:24:44,510 Interaktiv istifadə üçün nəzərdə tutulan bu xüsusiyyətlər 358 00:24:44,510 --> 00:24:46,920 həqiqətən scripting üçün az və ya heç istifadə olunur. 359 00:24:46,920 --> 00:24:52,160 Bu, sadəcə orada açılmış kimi interaktiv sub-shell istifadə etmək mümkündür 360 00:24:52,160 --> 00:24:57,780 Bir script istifadə etmək niyyətində olan əmrləri test. 361 00:24:57,780 --> 00:25:01,180 Ki, Perl ilə edə bilməz nə. Siz mərmi ilə bunu edə bilərsiniz. 362 00:25:01,180 --> 00:25:04,850 S loops və hətta strukturları interaktiv davam edə bilər. 363 00:25:04,850 --> 00:25:07,000 Onlar interaktiv çalıştırmak üçün bəzən faydalı 364 00:25:07,000 --> 00:25:10,180 lakin daha çox bir script inkişaf üçün istifadə edirik. 365 00:25:15,690 --> 00:25:17,400 >> Adlar. 366 00:25:17,400 --> 00:25:21,630 Bu C-shell haqqında olacaq. 367 00:25:23,270 --> 00:25:27,570 Geri əvvəllər əmrləri almaq Tarix mexanizmi 368 00:25:27,570 --> 00:25:30,340 və ya siz artıq onların hissələri etdik ki. 369 00:25:30,340 --> 00:25:33,680 Yenə C-shell haqqında, Bourne shell və Korn shell, bu şeylər var 370 00:25:33,680 --> 00:25:35,620 amma onları almaq niyyətində deyiləm. 371 00:25:35,620 --> 00:25:40,340 Belə ki, burada var ki, bəzi faydalı takma var. 372 00:25:43,100 --> 00:25:44,880 Əvəzində ls yazaraq - bir ümumi komanda var - 373 00:25:44,880 --> 00:25:47,620 yalnız l yazın və özünüzü 1 xarakter edirsiniz. 374 00:25:47,620 --> 00:25:50,600 müxtəlif variantları ilə ls, bütün bu işləri. 375 00:25:50,600 --> 00:25:54,460 O anlayışlar onların ətrafında quotes var Qeyd edək ki,. 376 00:25:54,460 --> 00:25:57,520 Bu hallarda, quotes lazım deyil. 377 00:25:57,520 --> 00:26:00,100 Siz quotes olmadan takma müəyyən edə bilərsiniz, bu, hələ iş olardı. 378 00:26:00,100 --> 00:26:02,910 Onlar tövsiyə olunur. 379 00:26:02,910 --> 00:26:04,900 Siz quote istifadə edə olan hallar var 380 00:26:04,900 --> 00:26:08,050 Siz quote qarşısını alacaq baş bir şey istəyirəm, çünki. 381 00:26:08,050 --> 00:26:11,210 Bəzən müəyyən hissəsi sitat lakin bütün bu edə bilərsiniz. 382 00:26:11,210 --> 00:26:17,010 Bu da ümumiyyətlə tək quotes çox ikiqat quotes istifadə etmək tövsiyə olunur. 383 00:26:17,010 --> 00:26:19,750 Double quotes dəyişən anlayışlar təsir, 384 00:26:19,750 --> 00:26:22,950 xüsusilə onlara daha dayandırılması çox qiymətləndiriləcək səbəb olur. 385 00:26:22,950 --> 00:26:25,910 Niyə biz qiymətləndirmə dayandırmaq istəyirsiniz? 386 00:26:25,910 --> 00:26:28,710 Və quotes ki, bizim üçün nə etməliyəm? 387 00:26:28,710 --> 00:26:32,600 >> Burada maraqlı tapa biləcək bir komanda deyil. 388 00:26:32,600 --> 00:26:35,470 'Ls g *' 389 00:26:35,470 --> 00:26:37,640 g *, siz yəqin ki, bildiyiniz kimi, bir wildcard ifadə 390 00:26:37,640 --> 00:26:40,290 g ilə başlayan bütün fayl adları üçün. 391 00:26:40,290 --> 00:26:46,410 Mən yalnız bir komanda ls g * yazmaq varsa, mən cari kataloq bütün bu adları bir siyahısını almaq lazımdır. 392 00:26:46,410 --> 00:26:50,870 Bu quotes ilə burada kimi ki, alias müəyyən edin 393 00:26:50,870 --> 00:26:56,990 Siz onu çalışan olduğunuz cari kataloq komanda davam edəcək. 394 00:26:56,990 --> 00:27:01,250 Amma quotes olmadan alias müəyyən run əgər, 395 00:27:01,250 --> 00:27:09,620 Bu müəyyən funksiyanı çalışır zaman bu wildcard g * qiymətləndirəcək. 396 00:27:09,620 --> 00:27:14,400 Belə ki, alias müəyyən ls kataloq faylların siyahısına təqib edəcək 397 00:27:14,400 --> 00:27:16,310 takma əmri icra edən, 398 00:27:16,310 --> 00:27:19,180 asılı olmayaraq, siz həqiqətən komanda run niyyətində harada. 399 00:27:19,180 --> 00:27:26,360 Bu çox istifadə deyil, və bir quotes ulduz qiymətləndirilməsi qarşısını alır. 400 00:27:26,360 --> 00:27:30,780 Belə ki, yalnız * müəyyən olan ls g almaq. 401 00:27:30,780 --> 00:27:35,510 Siz takma çalıştırdığınızda Sonra, LGS, sonra ki, həyata qoyur. 402 00:27:35,510 --> 00:27:40,490 İndi heç bir quotes var, və siz alias funksiyanı çalıştırın zaman bu ulduz qiymətləndirəcək. 403 00:27:40,490 --> 00:27:43,900 Belə ki, bir şey var. 404 00:27:43,900 --> 00:27:46,590 Double quotes, burada eyni təsir edəcəyini 405 00:27:46,590 --> 00:27:50,580 lakin ikiqat quotes yaxşı iş deyil ki, digər halları var. 406 00:27:50,580 --> 00:27:52,450 >> Burada başqa biridir. 407 00:27:52,450 --> 00:27:54,270 Siz grep komanda bilirik bilər. 408 00:27:54,270 --> 00:28:02,110 The grep komanda müəyyən strings olan xətləri üçün fayl scan üçün istifadə edilə bilər. 409 00:28:02,110 --> 00:28:10,350 Belə ki, burada artıq getmək bildirin və mən Bourne shell çıxmaq lazımdır. 410 00:28:23,570 --> 00:28:25,450 Okay. Burada bir fayl var. 411 00:28:25,450 --> 00:28:31,490 Nin grep abc strings var deyirlər. Orada deyil. 412 00:28:31,490 --> 00:28:37,930 Mən grep zddd varsa, mən heç bir şey almaq. Okay. 413 00:28:37,930 --> 00:28:40,960 Belə ki, bu hesabat, bir string tapır, bu tapmaq deyil, bu hesabat deyil. 414 00:28:40,960 --> 00:28:44,930 Bu ki, simli var olan hər hansı bir xətt nəticələr. 415 00:28:44,930 --> 00:28:49,080 Siz sənədlərin tapa bilərsiniz burada variantları bütün növ var. 416 00:28:49,080 --> 00:28:52,160 Burada bunu bir yoldur. 417 00:28:52,160 --> 00:29:03,290 Bu bir, alias grabc grep abc haqqında? 418 00:29:03,290 --> 00:29:09,000 Takma müəyyən edilir ki, 1 arqument daxil olacaq. 419 00:29:09,000 --> 00:29:26,300 Mən ki, əgər burada, indi grabc əgər, 420 00:29:26,300 --> 00:29:30,620 İndi alias sadə əmri daha çox daxildir. O, həmçinin dəlil var. 421 00:29:30,620 --> 00:29:32,190 Bu günə qədər ki, işləyir. 422 00:29:32,190 --> 00:29:38,590 Mən burada başqa bir komanda, bu var, belə ki, o orada müxtəlif strings var 423 00:29:38,590 --> 00:29:46,790 və uyğun deyil-ci ildən bu orada heç bir şey tapmaq deyil göstərir ki,. 424 00:29:46,790 --> 00:29:56,180 >> Mən alias müəyyən Mən axtarış gedirəm ki, fayl daxil istəyirsinizsə 425 00:29:56,180 --> 00:30:02,970 və mən alias I arıyorum ki, simli bir arqument kimi vermək istəyirsiniz? 426 00:30:02,970 --> 00:30:08,040 Mən, mənim alias üçün arqument kimi abc demək istəyirəm bilər 427 00:30:08,040 --> 00:30:10,870 lakin alias artıq fayl müəyyən. 428 00:30:10,870 --> 00:30:15,710 Bu ifadə girer harada ki var 429 00:30:20,430 --> 00:30:25,270 Biz əvvəl kimi grep var diqqət yetirin. 430 00:30:25,270 --> 00:30:28,130 Biz burada strings fayl var. 431 00:30:28,130 --> 00:30:35,610 \ ^!, Bir növ tək ifadə, Mən əvvəl bu görməmişik əgər, güman edirlər. 432 00:30:35,610 --> 00:30:39,920 Nida nöqtəsi C-shell tarixi mexanizminin hissəsidir. 433 00:30:39,920 --> 00:30:45,220 Əvvəllər əmrləri geri bilər, bu, s o əmrləri dəlilləri geri edə bilərsiniz. 434 00:30:46,760 --> 00:31:01,570 Tarixi mexanizmi aliasing hissəsi kimi istifadə olunur. 435 00:31:01,570 --> 00:31:07,390 Siz ünlem sonra bir xətt daxil, bu, tarixi siyahısında line müraciət edəcək 436 00:31:07,390 --> 00:31:11,910 Bu bütün digər mövzu var-ci ildən biz artıq nəzərə almaq olmaz. 437 00:31:11,910 --> 00:31:16,280 Bu xətt hissəsi müəyyən etmək mümkündür. 438 00:31:16,280 --> 00:31:22,950 Belə ki,! 3:2 command 3 nömrəli ikinci dəlil olardı. 439 00:31:22,950 --> 00:31:30,430 Burada bu ifadə caret ilk arqument üçün dayanır. 440 00:31:30,430 --> 00:31:34,410 Siz istinad etdiyiniz əmr göstəricisi vermək deyilsə 441 00:31:34,410 --> 00:31:37,300 ki, dərhal əvvəlki komanda aiddir 442 00:31:37,300 --> 00:31:41,990 və caret ilk arqument üçün bir rəmzidir. 443 00:31:41,990 --> 00:31:46,820 Bu caret və sayı var, çünki siz, kolon istifadə etmək lazım deyil 444 00:31:46,820 --> 00:31:52,660 belə! ^ əvvəlki komanda ilk dəlil deməkdir. 445 00:31:52,660 --> 00:31:55,020 Bir az burada qarışdırılır. 446 00:31:55,020 --> 00:31:58,450 Bu halda, bir alias müəyyən kimi istifadə zaman, 447 00:31:58,450 --> 00:32:04,650 tarixi arayış alias istifadə olunan əmrləri geri aiddir. 448 00:32:04,650 --> 00:32:08,470 Belə ki, bu, tarixi əməliyyat kimi geri 1 komanda gedir 449 00:32:08,470 --> 00:32:11,810 lakin bir alias əməliyyat kimi siz yazın ki hansı komanda aiddir, 450 00:32:11,810 --> 00:32:14,780 grstrings_file, deyirlər. 451 00:32:17,440 --> 00:32:20,240 Biz burada bu quotes var. Üçün backslash nədir? 452 00:32:20,240 --> 00:32:30,810 Bu halda, yerdə olduğu kimi, biz tarix mexanizmi icra etmək istəmirəm 453 00:32:30,810 --> 00:32:33,680 alias müəyyən edir. 454 00:32:33,680 --> 00:32:37,900 Biz orada backslash olmasaydı, shell ilk dəlil çəkmək olardı 455 00:32:37,900 --> 00:32:41,870 biz istəmirik ki, bu alias komanda, qaçdı sağ əvvəl komanda. 456 00:32:41,870 --> 00:32:47,520 Biz bu sonra bir dəlil zəng etmək alias komanda üçün inşa etmək istəyirəm. 457 00:32:47,520 --> 00:32:53,550 Single quotes bir ünlem tarixi arayış xilas yoxdur. 458 00:32:53,550 --> 00:32:57,450 Bəlkə ifadə escape şey mənasını dəyişdirmək deməkdir bilirik. 459 00:32:57,450 --> 00:33:00,260 Bu halda, bu xüsusi bir mənası olan bir şey dayandırmaq deməkdir. 460 00:33:00,260 --> 00:33:03,030 Exclamation point xüsusi mənası tarixidir. 461 00:33:03,030 --> 00:33:05,790 Escape və bu mənası yoxdur. 462 00:33:05,790 --> 00:33:08,080 Quotes bunu etmir; backslash yoxdur. 463 00:33:08,080 --> 00:33:11,900 Belə ki, biz, həqiqətən, burada qaçan 2 səviyyələri istifadə edirik. 464 00:33:23,500 --> 00:33:29,620 Mən bunu yazaraq olmadan digər pəncərə bu funksiyanı hərəkət etmək üçün gedirəm 465 00:33:29,620 --> 00:33:35,210 Bu redaktə əməliyyatları istifadə edərək, siz faydalı tapa bilərsiniz. 466 00:33:40,620 --> 00:33:42,460 Burada başqa bir şey sizə göstərmək lazımdır. 467 00:33:42,460 --> 00:33:46,730 Siz yalnız heç bir dəlilləri ilə alias yazın varsa, bu bütün dəlilləri deyir. 468 00:33:46,730 --> 00:33:48,640 Bu artıq burada idi takma bir dəstə 469 00:33:48,640 --> 00:33:53,400 Mən bu gün burada istifadə edilmişdir ki, bu başqa. 470 00:33:53,400 --> 00:34:00,220 Mən yalnız bir alias adı ilə yazın əgər Lakin, bu, nə deməkdir mənə deyir. 471 00:34:00,220 --> 00:34:03,390 Bu quotes getdi və backslash getdi fark. 472 00:34:03,390 --> 00:34:08,620 Burada Bu string ki, alias müəyyən nəticəsidir, 473 00:34:08,620 --> 00:34:12,199 və indi yalnız var! ^ ona. 474 00:34:12,199 --> 00:34:19,150 Bu şey üçün fayl strings baxmaq üçün gedir. 475 00:34:19,150 --> 00:34:34,900 Mən grstrings_file strings əgər Belə ki, I, orada axtarmaq üçün heç bir şey vermədi 476 00:34:34,900 --> 00:34:37,429 lakin strings axtarır. 477 00:34:37,429 --> 00:34:42,330 Bu fayl strings sözü strings tapmadı, lakin abc tapmaq deyil. 478 00:34:42,330 --> 00:34:46,770 Və bu ki, tapa deyil. 479 00:34:46,770 --> 00:34:52,330 Belə ki, burada biz alias müəyyən daxil edib ki, bir arqument verir, 480 00:34:52,330 --> 00:34:55,530 ki, daxil edilir. 481 00:34:55,530 --> 00:34:58,540 Bu ifadə gəlir harada var. 482 00:34:58,540 --> 00:35:00,240 Siz 1-dən artıq istifadə edə bilərsiniz. 483 00:35:00,240 --> 00:35:03,170 The caret ilk arqument üçün bir rəmzidir. 484 00:35:03,170 --> 00:35:07,510 Siz ikinci dəlil istifadə etmək istəyirdi, onda deyərdim: 2. 485 00:35:07,510 --> 00:35:11,250 İkinci arqument üçün xüsusi simvolu var. 486 00:35:11,250 --> 00:35:14,790 Bir say istifadə etdiyiniz, çünki, siz kolon istifadə etmək olardı. 487 00:35:14,790 --> 00:35:17,220 Burada bir seçim, lakin var. 488 00:35:17,220 --> 00:35:21,220 Dollar işarəsi son arqument üçün dayanır. 489 00:35:21,220 --> 00:35:23,320 Bu bir rəmzidir, çünki, siz kolon buraxmaq olar. 490 00:35:23,320 --> 00:35:25,870 Belə ki, siyahıda son arqument olacaq. 491 00:35:25,870 --> 00:35:27,900 Və bir də var. 492 00:35:27,900 --> 00:35:31,380 , Asterisk bütün deməkdir, belə ki, bu tam arqument siyahısı 493 00:35:31,380 --> 00:35:35,150 bir say deyil, çünki və, daha, siz kolon buraxmaq olar. 494 00:35:36,970 --> 00:35:39,950 Mən sizə bütün bu müşahidə ümid edirik. 495 00:35:39,950 --> 00:35:54,100 >> Tarixi mexanizmi tarixi siyahısına geri əvvəllər xətləri bilərsiniz. 496 00:35:54,100 --> 00:36:01,370 Siz alias müəyyən bunu edə bilər. 497 00:36:01,370 --> 00:36:02,950 Mən bunu görməmişəm. 498 00:36:02,950 --> 00:36:05,840 Bu tarixi siyahıdan əvvəllər əmrləri həyata çekme təsiri olardı 499 00:36:05,840 --> 00:36:08,130 müxtəlif əmrləri ola biləcək alias, icra zaman 500 00:36:08,130 --> 00:36:11,240 zaman və harada siz icra asılı olaraq. 501 00:36:11,240 --> 00:36:14,020 Conceivably Əgər belə bir arayış çıxarmaq istəyirəm bilər 502 00:36:14,020 --> 00:36:15,900 yalnız bir əvvəlki komanda idi nə. 503 00:36:15,900 --> 00:36:17,280 Mən bu baş görməmişəm. 504 00:36:17,280 --> 00:36:19,970 Mən kimsə istəyirəm bilər Güman, lakin bu, çox mümkün deyil. 505 00:36:19,970 --> 00:36:26,480 Burada başqa bir şey yoxdur. 506 00:36:26,480 --> 00:36:33,060 Ki, tarix tipli istinad istifadə etsəniz, 507 00:36:33,060 --> 00:36:38,190 sonra belə bir arayış var olan yalnız arqumentlər istifadə olunur. 508 00:36:38,190 --> 00:36:42,180 Bir tarixi tipli istinad istifadə etmir bir alias tərif varsa, 509 00:36:42,180 --> 00:36:44,060 yalnız komanda başından olarsa 510 00:36:44,060 --> 00:36:46,520 və daha dəlilləri, sonra bir şey ki, sonra yazın 511 00:36:46,520 --> 00:36:48,450 əmri əlavə olunacaq. 512 00:36:48,450 --> 00:36:52,040 Bu halda, mən yalnız orada verdi Məsələn, biz ilk dəlil istifadə; 513 00:36:52,040 --> 00:36:54,610 biz hər hansı digər istifadə etməmişdir. 514 00:36:54,610 --> 00:36:57,960 Digər dəlilləri command line verilsəydi, onlar istifadə edilə bilməz. 515 00:36:57,960 --> 00:37:04,630 Siz bütün tarixi istinad istifadə əgər Belə ki, sonra hər hansı bir dəlil almaq üçün istifadə etməlidirlər. 516 00:37:04,630 --> 00:37:11,310 >> Mən yalnız qismən parenthetically, qeyd etmək istəyirəm ki, burada başqa şey var, 517 00:37:11,310 --> 00:37:15,250 yəni ki, nida nöqtəsi ilə bu tarixi mexanizm 518 00:37:15,250 --> 00:37:18,010 geri orijinal C-shell gedir. 519 00:37:18,010 --> 00:37:27,060 The Tcsh tarixi əməliyyatları təqdim 520 00:37:27,060 --> 00:37:30,910 redaktorları əmrləri və strings növ istifadə edən, 521 00:37:30,910 --> 00:37:33,650 Emacs və ya vi ya. 522 00:37:33,650 --> 00:37:36,430 Mənim şəxsi fikrim Emacs bu məqsəd üçün istifadə etmək çox asandır edir 523 00:37:36,430 --> 00:37:39,390 Siz müntəzəm redaktə üçün vi istifadə hətta əgər. 524 00:37:39,390 --> 00:37:43,900 İndi tarixi üçün uyğunlaşdırılmış olan müxtəlif Emacs əmrləri var. 525 00:37:43,900 --> 00:37:46,410 Control P tarixi siyahısında əvvəlki xətti olur. 526 00:37:46,410 --> 00:37:48,840 Digər Control P ki, siz əvvəl bir olacaq. 527 00:37:48,840 --> 00:37:50,540 Yuxarı arrow eyni şey deyil. 528 00:37:50,540 --> 00:37:54,190 Əgər siz artıq bəzi yolları geri kaydırılmış olsanız Control N növbəti komanda olur. 529 00:37:54,190 --> 00:37:55,880 Down arrow çox yoxdur. 530 00:37:55,880 --> 00:38:00,480 Siz oxlar və digər şeylər ilə sağ sol hərəkət edə bilər. 531 00:38:00,480 --> 00:38:02,390 Bu tarix mexanizmi istifadə edə bilərsiniz 532 00:38:02,390 --> 00:38:05,070 nida point sintaksis istifadə edərək daha asan, 533 00:38:05,070 --> 00:38:07,930 lakin bir alias müəyyən istifadə deyil. 534 00:38:17,780 --> 00:38:20,020 Biz bəzi başqa vaxt ki, artıq getmək lazımdır. 535 00:38:24,300 --> 00:38:25,810 >> Dəyişənlər. 536 00:38:26,880 --> 00:38:29,510 Siz proqramlaşdırma dilləri nə dəyişənlərin bilirik. 537 00:38:29,510 --> 00:38:31,680 Bu mərmi də onlara var. 538 00:38:31,680 --> 00:38:37,350 The C-shell, dəyişənlərin təyin müəyyən əmr edir 539 00:38:37,350 --> 00:38:41,360 ki, b dəyəri dəyişən a edir - 540 00:38:41,360 --> 00:38:46,390 Mən yararsız definition lakin bu istifadə olunur necə bir illüstrasiya etdi. 541 00:38:48,790 --> 00:38:52,410 Bu artıq mövcud deyil əgər set command dəyişən yaradacaq. 542 00:38:55,270 --> 00:39:02,490 Shell scripts üçün mövqeli parametrləri dəyişənlər hesab edilə bilər, 543 00:39:02,490 --> 00:39:10,750 lakin onlardan istifadə və onlar üçün qaydaları bir qədər fərqlidir. 544 00:39:10,750 --> 00:39:14,320 Siz bir script ərzində $ 1 bir dəyər təyin edə bilməz. 545 00:39:14,320 --> 00:39:18,340 Siz bəzi istəyirdi ki, məqsəd üçün yeni bir dəyişən müəyyən etmək olardı. 546 00:39:23,000 --> 00:39:28,470 Dəlilləri heç bir ilə müəyyən yazın və siz bütün hazırda müəyyən dəyişənlərin bir siyahısını almaq. 547 00:39:28,470 --> 00:39:34,220 Və burada mənim digər shell üzərində almaq və biz bunu əgər biz almaq nə edək. 548 00:39:34,220 --> 00:39:37,110 Orada uzun bir siyahı, sağ? 549 00:39:37,110 --> 00:39:40,990 Bir az diyirləyin. Bütün baxın. 550 00:39:40,990 --> 00:39:44,330 Bu bəzi şeyləri shell avtomatik olaraq müəyyən edilir. 551 00:39:44,330 --> 00:39:49,320 Bu shell dəyişən yaradır və bir dəyər verir. 552 00:39:49,320 --> 00:39:52,730 Bəziləri shell tərəfindən müəyyən lakin sonra istifadəçi tərəfindən yenidən olunur 553 00:39:52,730 --> 00:39:54,820 onun üstünlükləri görə. 554 00:39:54,820 --> 00:39:59,110 Və onların bəziləri o gün bunu nə asılı olaraq istifadəçi tərəfindən yaradılmışdır. 555 00:39:59,110 --> 00:40:01,880 Bu yalnız dəlilləri heç bir müəyyən edir. 556 00:40:06,920 --> 00:40:10,050 Burada bu şey bir tək xüsusiyyət var. 557 00:40:10,050 --> 00:40:17,980 Bərabərdir imzalamaq və dəyişən adı arasında heç bir boşluq ya olmaq var 558 00:40:17,980 --> 00:40:23,700 və bərabər iki dəyəri və ya boşluq imzalamaq, 559 00:40:23,700 --> 00:40:28,940 bu bir kimi. 560 00:40:35,620 --> 00:40:41,340 Bu iş deyil, və bu, həqiqətən, cari command edir 561 00:40:41,340 --> 00:40:43,390 ancaq niyyətində nə deyil. 562 00:40:43,390 --> 00:40:50,070 Bu komanda işləyəcək, çünki yalnız bir dəyişən adı müəyyən və demək əgər 563 00:40:50,070 --> 00:40:54,890 heç bir işarə bərabər və ya seçin və bərabər bir dəyişən adı imzalamaq və heç bir dəyəri ilə 564 00:40:54,890 --> 00:40:57,770 bir null dəyəri dəyişən müəyyən edəcək. 565 00:40:57,770 --> 00:41:00,120 Belə ki, bir = müəyyən etibarlı əmr edir. 566 00:41:00,120 --> 00:41:04,370 Bu set command eyni xətt üzrə çox 1 dəyişən müəyyən edə bilərsiniz. 567 00:41:04,370 --> 00:41:11,240 Belə ki, burada bu komanda dəyərlər null A və B həm müəyyən təsiri var. 568 00:41:11,240 --> 00:41:13,470 Yəqin ki, nə istəyirəm. 569 00:41:13,470 --> 00:41:17,940 Burada Bu, əvvəllər qeyd, bir səhv gətirib çıxaracaq 570 00:41:17,940 --> 00:41:21,270 = b cari bir ifadə deyil. 571 00:41:21,270 --> 00:41:23,680 A dəyişən adı bərabər işarəsi ilə başlamaq bilməz. 572 00:41:26,760 --> 00:41:29,080 Və burada bu da şeylər var. 573 00:41:29,080 --> 00:41:36,820 The colons, tarixi xətləri olan arqumentlər seçmək üçün istifadə edilmişdir 574 00:41:36,820 --> 00:41:41,210 və onlar istifadə edilə bilər - və mən əvvəl daxil etməyib - o şeyi dəyişdirmək üçün. 575 00:41:41,210 --> 00:41:44,480 Onlar həmçinin shell dəyişənlər dəyişdirmək üçün istifadə edilə bilər. 576 00:41:44,480 --> 00:41:49,050 Burada Bu, bir $ bir dəyəri var. 577 00:41:49,050 --> 00:41:55,040 : R uzadılması off olacaq. 578 00:41:55,040 --> 00:41:57,200 Uzadılması bir nöqtə aşağıdakı bir şey olacaq, 579 00:41:57,200 --> 00:41:59,200 bir dot və bir fayl sonunda aşağıdakı bir şey, 580 00:41:59,200 --> 00:42:03,230 yalnız son çizgi sonra siyahının sonunda. 581 00:42:03,230 --> 00:42:05,480 Mən burada var. 582 00:42:05,480 --> 00:42:10,730 bir ki. Bu düşəcək. O. 583 00:42:10,730 --> 00:42:16,510 Heç bir məsləhət, son çizgi sonra yalnız pathnames varsa, heç bir təsiri olacaq. 584 00:42:16,510 --> 00:42:27,480 a: h, dəyişən ifadə, bir kataloq siyahısı son element off olacaq ki, 585 00:42:27,480 --> 00:42:29,660 yenə yalnız son çizgi sonra. 586 00:42:29,660 --> 00:42:33,160 Belə ki, / a / b / c / a / b olur, 587 00:42:33,160 --> 00:42:38,870 Siyahıda sonra element null çünki bu bir dəyişdirilir. 588 00:42:38,870 --> 00:42:43,070 Burada da vurğulamaq istəyirəm ki, bir şey var. 589 00:42:43,070 --> 00:42:46,770 Bu seçmələrində bu faylları mövcudluğu üçün axtarış yoxdur. 590 00:42:46,770 --> 00:42:48,910 Onlar yalnız strings üçün baxmaq. 591 00:42:48,910 --> 00:42:54,520 Bu, pathnames, fayl adları manipulyasiya üçün nəzərdə tutulub 592 00:42:54,520 --> 00:42:57,520 lakin onlar bir fayl adı deyil, hətta əgər hər hansı bir string istifadə edilə bilər. 593 00:42:57,520 --> 00:42:58,920 Onlar mövcudluğu üçün baxmaq yoxdur, 594 00:42:58,920 --> 00:43:03,550 belə ki, heç belə fayl var, / a / b / c, bu hələ də işləyəcək. 595 00:43:03,550 --> 00:43:06,930 Hər hansı bir istifadə olsun başqa məsələdir, lakin hələ də işləyəcək. 596 00:43:06,930 --> 00:43:12,850 Dəyişənlər Bourne mərmi fərqlidir. Biz sonra ki, almaq lazımdır. 597 00:43:12,850 --> 00:43:18,240 Dollar işarəsi yalnız ünlem və ulduz kimi xilas ola bilər. 598 00:43:18,240 --> 00:43:21,760 Dollar işarəsi bir backslash və ya bir quotes ilə xilas ola bilər. 599 00:43:21,760 --> 00:43:24,790 Double quotes bütün mərmi ilə tək təsir 600 00:43:24,790 --> 00:43:28,690 Bir dollar qiymətləndirilməsi məcbur dəyişən ifadə imzalamaq. 601 00:43:28,690 --> 00:43:31,960 Bir yol xilas olan varsa Belə ki, ikiqat quotes təsiri ola bilər 602 00:43:31,960 --> 00:43:34,380 bu halda qiymətləndirilməlidir səbəb olur. 603 00:43:34,380 --> 00:43:37,090 Bu bir az confusing edir. 604 00:43:37,090 --> 00:43:43,740 Belə ikiqat quotes daxilində vahid quotes kimi qaçan çox səviyyəsi, varsa 605 00:43:43,740 --> 00:43:46,770 və ya bir quotes daxilində ikiqat quotes, siz nə olacaq görmek üçün test olmalıdır 606 00:43:46,770 --> 00:43:49,520 bir kullanıyorsanız dəyişən. 607 00:43:49,520 --> 00:43:53,410 O 2 hallar - ikiqat vahid, vahid daxili ikiqat daxili - 608 00:43:53,410 --> 00:43:55,980 mütləq eyni nəticə vermir. 609 00:44:02,520 --> 00:44:05,600 Ekologiya dəyişənlərin bağlı C-shell dəyişənlər. 610 00:44:05,600 --> 00:44:08,340 Ətraf dəyişənlər də C-shell dəyişənlər var 611 00:44:08,340 --> 00:44:11,250 və onlar da digər mərmi də dəyişənlər var. 612 00:44:11,250 --> 00:44:15,230 C-shell, onlar fərqli dəsti var. 613 00:44:15,230 --> 00:44:18,130 Mən əvvəl deyirdim şeylər shell dəyişənlər haqqında. 614 00:44:18,130 --> 00:44:21,300 Ətraf dəyişənlər dəyişənlərin ayrı bir set var 615 00:44:21,300 --> 00:44:28,650 biz bound dəyişənlərin zəng bir neçə dəyişənlərin istisna olmaqla, 616 00:44:28,650 --> 00:44:30,640 çox vacibdir və biz sonra o nəzərə almaq lazımdır ki. 617 00:44:30,640 --> 00:44:34,950 Ətraf dəyişənlər avtomatik qəbul olunur 618 00:44:34,950 --> 00:44:41,800 mərmi və ya shell idarə olunur ki, əmrləri. 619 00:44:41,800 --> 00:44:46,220 Digər şeylər deyil. Bu shell dəyişənlərin, takma deyil. Ətraf dəyişənlər var. 620 00:44:46,220 --> 00:44:48,630 Biz mühit dəyişənlər onlara zəng niyə ki, 621 00:44:48,630 --> 00:44:55,030 fikir ətraf mühit yalnız cari shell keçmiş uzanır ki, olan. 622 00:44:55,030 --> 00:45:00,510 Onlar əmrləri üçün şeyi müəyyən etmək üçün istifadə edilə bilər. 623 00:45:00,510 --> 00:45:05,470 Burada bir nümunəsidir. PRINTER, LPDEST. 624 00:45:05,470 --> 00:45:12,270 Dəyişənlərin həm də komanda şeyi çap üçün istifadə edəcək ki, bir printer müəyyən edə bilərsiniz. 625 00:45:12,270 --> 00:45:16,500 Siz ətrafında çox printerlər varsa, istədiyiniz birini qoymaq istəyirəm bilər. 626 00:45:16,500 --> 00:45:21,320 Biz 2 dəyişənlər var səbəbi əmrləri müxtəlif dəstləri yazılmışdır ki, 627 00:45:21,320 --> 00:45:23,870 bu müxtəlif dəyişənlər istifadə. 628 00:45:23,870 --> 00:45:25,910 Siz onlara müxtəlif dəyərlər verir bilər. 629 00:45:25,910 --> 00:45:28,860 Çox güman ki, onlara eyni dəyər, həm də vermək lazımdır. 630 00:45:28,860 --> 00:45:35,840 Həmin şeylər işləmək çap ki, əmrləri 631 00:45:35,840 --> 00:45:40,740 bu dəyişənlərin dəyərləri yoxlamaq üçün proqramlaşdırılmış edilmişdir. 632 00:45:42,200 --> 00:45:46,150 Bir proqram yol yazılı idi, bu, başqa bir şey yazılı halda, 633 00:45:46,150 --> 00:45:48,280 dəyişən yersiz olardı. 634 00:45:48,280 --> 00:45:52,530 Belə ki, əməliyyat sistemi bu dəyişənlər üçün axtarır 635 00:45:52,530 --> 00:45:55,210 bir printer baxın hər zaman. 636 00:45:55,210 --> 00:45:59,090 Bu yol proqramlaşdırılmış əgər çap ki, bir skript bu dəyişənlər üçün axtarır. 637 00:46:11,030 --> 00:46:15,240 Bu dəyişənlər tez-tez başlatma faylları müəyyən edilir 638 00:46:15,240 --> 00:46:19,440 lakin mütləq. 639 00:46:19,440 --> 00:46:21,050 Siz command line onları müəyyən edə bilərsiniz. 640 00:46:21,050 --> 00:46:24,090 Onlar komanda müəyyən edilə bilər. 641 00:46:24,090 --> 00:46:28,740 Bir şey çalışır ki, bir command dəyişənlərin öz seçimi ola bilər - 642 00:46:28,740 --> 00:46:32,390 misal üçün xüsusi proqram paketi üçün unikal olan dəyişənlərin. 643 00:46:32,390 --> 00:46:36,740 Ki, paketi run zaman müəyyən olunacaq. 644 00:46:39,690 --> 00:46:42,680 Necə bu dəyişənlərin bir sub-shell qəbul olunur? 645 00:46:42,680 --> 00:46:48,210 Bir sub-shell yazılı, o, həmin ərazidə yazmaq deyil. 646 00:46:48,210 --> 00:46:53,260 Ətraf dəyişənlərin həsr ki, sub-shell sahəsi 647 00:46:53,260 --> 00:46:56,450 alt shell yazılı deyil, bu çıxarmaq tərəfindən yazılı. 648 00:46:56,450 --> 00:47:00,530 Əgər adi komanda çalıştırdığınızda, belə, bu əmrləri çap və ya nə kimi 649 00:47:00,530 --> 00:47:03,840 Onlar yeni shell yaratmaq başlamaq. 650 00:47:03,840 --> 00:47:06,190 Bu shell bir shell yaradır və sonra iştirak üzerine yazır 651 00:47:06,190 --> 00:47:08,800 bir az confusing olan çalışan etdiyiniz komanda ilə, 652 00:47:08,800 --> 00:47:10,740 lakin bu əmrlər mühit dəyişənləri almaq necə 653 00:47:10,740 --> 00:47:14,890 Onlar sonra baxın ki,. 654 00:47:21,920 --> 00:47:28,010 Dəyişən SetEnv müəyyən burada komanda. 655 00:47:28,010 --> 00:47:36,470 Siz onu müəyyən necə. SetEnv, dəyişən, dəyər: 3 elementləri var. 656 00:47:36,470 --> 00:47:44,710 Siz yalnız heç bir dəlilləri ilə SetEnv deyilsə, siz nə əldə edirsiniz? 657 00:47:47,220 --> 00:47:48,810 Bu dəyişənlərin bütün siyahısı. 658 00:47:48,810 --> 00:47:53,190 Yenə, bu, gözəl uzun siyahısı var və bu halda, başqaları kimi, 659 00:47:53,190 --> 00:47:57,320 Bu dəyişənlər shell özü mənim giriş əməliyyat əsasən müəyyən edilir 660 00:47:57,320 --> 00:47:59,740 daha mən bir şey daha. 661 00:47:59,740 --> 00:48:03,580 Burada bir komanda, printenv var. 662 00:48:07,520 --> 00:48:10,340 Bu da ətraf mühitə çap edir. 663 00:48:10,340 --> 00:48:15,240 Burada REDAKTORU = vi bu son şey edək. 664 00:48:15,240 --> 00:48:21,120 Ki, deyir ki Mən redaktoru çağırır ki, bir şey istifadə edirəm əgər 665 00:48:21,120 --> 00:48:25,530 və Mən redaktoru daxil deyil və bu mənə seçim verir, o, mənə vi verə bilər. 666 00:48:25,530 --> 00:48:37,280 Mən printenv REDAKTORU əgər? Bu nə mənə deyir. 667 00:48:37,280 --> 00:48:41,340 Sağ əvvəl, dəyişən, az var idi. 668 00:48:41,340 --> 00:48:46,040 Bu mən az funksiyanı çalıştırın zaman yetirilməməsi variantları var, 669 00:48:46,040 --> 00:48:49,360 olan faylları gösterir. 670 00:48:49,360 --> 00:48:55,910 Mən bunu Belə ki, printenv, 1 arqument və ya 0 arqumentlər bilər 671 00:48:55,910 --> 00:48:58,070 çox 1. 672 00:49:01,800 --> 00:49:05,690 Digər əmrləri də var, lakin biz bütün bu gün almaq üçün fikrində deyilik. 673 00:49:05,690 --> 00:49:11,010 Kimi shell dəyişənlər üçün modifikatorların var idi saxla: h, 674 00:49:11,010 --> 00:49:14,350 bir pathname son element düşəcək ki, 675 00:49:14,350 --> 00:49:17,950 və ya: r, uzadılması düşmək edəcək. 676 00:49:17,950 --> 00:49:23,110 Həmin indi də ətraf dəyişənlərin müraciət. Onlar üçün istifadə etmədi. 677 00:49:23,110 --> 00:49:24,960 Onlar redaktə ola bilməz olmaq üçün istifadə. İndi onlar ola bilər. 678 00:49:24,960 --> 00:49:29,190 Bu il ərzində mərmi inkişafları ilə avanslar biri. 679 00:49:29,190 --> 00:49:35,620 Deyirdim ki, mühit hissəsi kimi mərmi 680 00:49:35,620 --> 00:49:43,040 və C-shell shell dəyişənlər bəzi istisnalarla, fərqli dəsti ilə, var. 681 00:49:43,040 --> 00:49:46,790 Siz eyni adı ilə bir mühit dəyişən və bir shell dəyişən yarada bilər. 682 00:49:46,790 --> 00:49:49,220 Onlar müxtəlif dəyişənlərin olacaq, onlar müxtəlif dəyərlər ola bilər. 683 00:49:49,220 --> 00:49:53,090 Birinin dəyərini dəyişdirilməsi digər dəyəri dəyişməyəcək. 684 00:49:53,090 --> 00:49:58,070 Bu dəyişənlər bütün dollar işarəsi ilə qiymətləndirilir - $ a $ nə. 685 00:49:58,070 --> 00:50:02,340 Beləliklə, nə siz bu varsa? Siz almaq bir bilirsinizmi? 686 00:50:02,340 --> 00:50:04,520 Mənim testlər mən shell dəyişən var, 687 00:50:04,520 --> 00:50:07,240 lakin bu sənədləşdirilmiş deyil və siz ki, etibar edə bilməz. 688 00:50:07,240 --> 00:50:10,270 Mən shell və mühit dəyişənləri yaradılması, xahiş 689 00:50:10,270 --> 00:50:13,490 eyni adlar yaxşı bir fikirdir ilə? No OK. 690 00:50:13,490 --> 00:50:17,460 Olan ətraf mühit və shell dəyişənlər o böyük istisnalar hansılardır 691 00:50:17,460 --> 00:50:19,860 bir-birinə bağlıdır? 692 00:50:19,860 --> 00:50:27,470 Bu 4 var. 693 00:50:32,030 --> 00:50:35,510 Capital məktubu MÜDDƏTİ mühit dəyişən, 694 00:50:35,510 --> 00:50:41,540 kiçik məktublar, terminal emulation tipli dəyişən müddət shell. 695 00:50:41,540 --> 00:50:47,430 , Mən yalnız burada getmək gedirəm və mən burada echo bir faydalı əmr etmək üçün gedirəm 696 00:50:47,430 --> 00:50:52,560 $ TERM $ müddəti. Və orada. 697 00:50:52,560 --> 00:51:00,570 xterm X Window System göstərilir Windows üçün bir terminal növüdür. 698 00:51:00,570 --> 00:51:04,330 xterm-rəng müxtəlif rəng verir ki, bir variasiya edir. 699 00:51:04,330 --> 00:51:06,580 Niyə biz bu müəyyən edirsiniz? Bu üçün yaxşı nədir? 700 00:51:06,580 --> 00:51:09,740 Redaktoru kimi ekran yeniden ki, əmrləri 701 00:51:09,740 --> 00:51:13,680 escape ardıcıllığı adlı xüsusi ardıcıllığı, göndərmək, 702 00:51:13,680 --> 00:51:18,160 Bir terminal və ya pəncərə s yenidən və. 703 00:51:18,160 --> 00:51:20,990 Həmin ardıcıllığı terminalların müxtəlif növləri üçün müxtəlif var. 704 00:51:20,990 --> 00:51:23,100 Bu isə istifadə üçün bunu deyir. 705 00:51:23,100 --> 00:51:25,900 Bəzən məsələlər var. 706 00:51:25,900 --> 00:51:28,600 Siz dəyişə bilərsiniz. 707 00:51:28,600 --> 00:51:30,780 Hər şeyi iş deyil varsa, bəzən terminal növü, səhv müəyyən edilir 708 00:51:30,780 --> 00:51:36,440 Siz müddəti dəyişən yenidən düzeltmek edə bilər. 709 00:51:36,440 --> 00:51:43,420 Bu hallarda, bir dəyişən, ətraf mühitin dəyişən və ya shell dəyişən dəyişdirilməsi, 710 00:51:43,420 --> 00:51:45,970 Digər bir dəyişdirmək lazımdır. 711 00:51:45,970 --> 00:51:50,970 Mən təcrübə vasitəsilə aşkar etdik ki, hərflərlə MÜDDƏTİ dəyişən 712 00:51:50,970 --> 00:51:54,060 həmişə kiçik hərflərlə shell dəyişən müddət dəyişmir. 713 00:51:54,060 --> 00:51:55,550 Bu bir səhv deyil. 714 00:51:55,550 --> 00:51:59,400 Həmişə doğrudur, mən bilmirəm. Bu doğru deyil çox vaxt, lakin ola bilər. 715 00:51:59,400 --> 00:52:02,490 Əgər bir dəyişiklik Belə ki, yalnız kontrol. 716 00:52:02,490 --> 00:52:05,830 Bu ancaq bir dəfə siz bir müddət, siz ki, dəyəri dəyişdirmək lazımdır ki, tez-tez deyil. 717 00:52:05,830 --> 00:52:08,260 Ətraf mühit dəyişən USER. 718 00:52:08,260 --> 00:52:12,070 Yenə hərflərlə mühit dəyişən, kiçik hərflərlə dəyişən shell. 719 00:52:12,070 --> 00:52:13,710 Bu istifadəçi adı deyil. 720 00:52:13,710 --> 00:52:16,730 Bu, yalnız çox müstəsna hallarda var 721 00:52:16,730 --> 00:52:18,420 Əgər dəyişmək istəyirəm ki,. 722 00:52:18,420 --> 00:52:22,350 Sizin istifadəçi adı başqası varsa, bu şeyi bütün növ off atmaq olar. 723 00:52:22,350 --> 00:52:26,040 Home directory, istifadəçinin ana qovluğu. 724 00:52:26,040 --> 00:52:28,060 Yenə Əgər dəyişmək istəyirəm deyil. 725 00:52:28,060 --> 00:52:32,260 Biz, yol dəyişən əhatə haqqında olduğunu, bu hallarda və bir bütün bildiriş 726 00:52:32,260 --> 00:52:37,070 ətraf mühit dəyişən hərflərlə və bound shell dəyişən kiçik hərflərlə edir. 727 00:52:37,070 --> 00:52:39,240 Bir dəyişdirmək əgər, siz başqa dəyişdirmək lazımdır. 728 00:52:39,240 --> 00:52:45,960 2 dəyişənlərin lər bilməz kimi məcburi bu cür müəyyən edilə bilməz, 729 00:52:45,960 --> 00:52:50,570 başqa, bu 4 və bu dəyişənlərin məcburi geri bilməz, 730 00:52:50,570 --> 00:52:52,090 Əgər siz onları ayıra bilməz. 731 00:52:52,090 --> 00:52:55,820 Belə ki, dəyişənlərin bu 4 cüt bağlıdırlar. 732 00:52:55,820 --> 00:52:59,020 Onlar həmişə olacaq. None başqaları olacaq. 733 00:52:59,020 --> 00:53:05,720 Bundan başqa, eyni adları ilə dəyişənlər yaratmaq mümkün olacaq 734 00:53:05,720 --> 00:53:07,780 əks növləri. 735 00:53:07,780 --> 00:53:11,600 Siz kiçik hərflərlə bir shell dəyişən müddət edə bilər 736 00:53:11,600 --> 00:53:14,990 və ya hərflərlə bir mühit dəyişən TERM. 737 00:53:14,990 --> 00:53:19,040 Bu dəyişənlər bu qoşalaşmış dəyişənlərin müstəqil olacaq 738 00:53:19,040 --> 00:53:20,780 və onlar bir-birindən müstəqil olacaq. 739 00:53:20,780 --> 00:53:23,780 Insanların çaşdırmaq üçün istədiyiniz halda bunu ki, niyə mən təsəvvür edə bilməz. 740 00:53:24,600 --> 00:53:29,730 Burada Bu, yol dəyişən, bu həqiqətən mühüm biridir. 741 00:53:29,730 --> 00:53:35,550 Burada başqa bir şey hallar ola bilər ki, 742 00:53:35,550 --> 00:53:40,430 bir-birinə bağlı olmayan oxşar Cütlənmiş adları ilə dəyişənlərin. 743 00:53:40,430 --> 00:53:45,000 Kapital və kiçik hərflərlə, dəyişənlərin, SHELL və shell ola bilər. 744 00:53:45,000 --> 00:53:48,300 Ki, dəyişən bir shell dəyişən olarsa, adı əsasında, bilmirəm 745 00:53:48,300 --> 00:53:51,580 və ya ətraf mühit dəyişən, və onlar bir-birinə bağlı deyilik. 746 00:53:51,580 --> 00:53:55,300 Belə ki, qoşalaşmış adları cür bound dəyişənlərin demək deyil. 747 00:53:55,300 --> 00:53:58,830 Mən əvvəl göstərən olan yol dəyişən, 748 00:53:58,830 --> 00:54:01,880 shell əmrləri üçün görünür olan pathnames siyahısı. 749 00:54:01,880 --> 00:54:12,320 Burada bu pəncərə üzərində almaq və biz echo $ PATH, hərflərlə edəcəyik - 750 00:54:12,320 --> 00:54:20,230 ətraf mühit dəyişən - $ yolu echo, kiçik məktublar - dəyişən shell. 751 00:54:20,230 --> 00:54:24,980 Rehberler siyahısı eyni olduğunu görürük. Bu bağlıdırlar. 752 00:54:24,980 --> 00:54:26,590 Bir dəyişiklik, digər dəyişir. 753 00:54:26,590 --> 00:54:32,970 Ətraf mühit dəyişən ünsürlər colons ilə ayrılır. Qeyd edək ki,. 754 00:54:32,970 --> 00:54:35,130 Bu shell dəyişənlər boşluq ayrılır. 755 00:54:35,130 --> 00:54:38,760 Bu mühit dəyişən bir simli edir. 756 00:54:38,760 --> 00:54:41,480 Bu shell dəyişən bir sıra edir. 757 00:54:41,480 --> 00:54:43,490 The Bourne shell serialların yox idi. 758 00:54:43,490 --> 00:54:46,600 Bash edir, lakin bu artıq shell sabit hissəsidir. 759 00:54:46,600 --> 00:54:48,660 Bu bir string və bir sıra edir. 760 00:54:48,660 --> 00:54:50,420 The C-shell həmişə Diziler idi. 761 00:54:50,420 --> 00:54:52,630 Bu serialların ilə işləmək üçün çox asandır. 762 00:54:52,630 --> 00:54:54,400 Siz hissələri müraciət edə bilərsiniz. 763 00:54:54,400 --> 00:55:02,350 Belə ki, echo $ yol [1] və mən almaq / usr / bin, ilk element. 764 00:55:02,350 --> 00:55:09,950 Yenə dollar yadda Bürc tarixi siyahısında son element üçün dayanır. 765 00:55:09,950 --> 00:55:16,850 Nə baş verir? Bu dəyişən rəmzi kimi dollar işarəsi tapmağa çalışdı. 766 00:55:16,850 --> 00:55:20,850 Mən bunu xilas. Oops. Bu da ki, almaq deyil. 767 00:55:20,850 --> 00:55:23,690 Bu bəzi şeyləri yaxşı iş deyil. 768 00:55:23,690 --> 00:55:28,140 Bəlkə biz yalnız buraxmaq lazımdır. 769 00:55:28,140 --> 00:55:36,980 Asterisk bütün şey edir, lakin bir element müəyyən etmir əgər siz almaq nə var. 770 00:55:36,980 --> 00:55:46,170 Array dəyişənlərin manipulyasiya edilə bilər ki, başqa bir yolu, 771 00:55:46,170 --> 00:55:49,500 orada elementləri, 7 elementlər sayı. 772 00:55:49,500 --> 00:55:53,410 Burada dəyişən adını əvvəl funt işarəsi qoydu. 773 00:55:53,410 --> 00:55:58,280 Burada başqa biri. Bir sual işarəsi qoyun. 774 00:55:58,280 --> 00:56:03,170 Ki, bir məntiqi dəyəri. Bu dəyişən mövcud olduğunu göstərir. 775 00:56:03,170 --> 00:56:05,160 Bu dəyişənlərin ilə iş bir yoldur. 776 00:56:05,160 --> 00:56:06,660 Ki, yolu ilə, bir sıra dəyişən olmaq yoxdur. 777 00:56:06,660 --> 00:56:08,210 Hər hansı bir dəyişən ola bilər. 778 00:56:08,210 --> 00:56:11,840 Mən əgər orada belə bir dəyişən var və mən bir 0 almaq. 779 00:56:11,840 --> 00:56:14,990 Dəyişən qiymətləndirmələr haqqında orada bir az şey. 780 00:56:23,670 --> 00:56:32,950 Geri bu bir burada, əgər bu iş istədi nədənsə 781 00:56:32,950 --> 00:56:37,990 daha sıra ilə iş çox, shell dəyişən, 782 00:56:37,990 --> 00:56:41,470 kolon əsasında bu şeyi ayırmaq olar ki, əmrləri var. 783 00:56:41,470 --> 00:56:44,080 Əslində, siz bəlkə Bash shell bunu etmək olacaq əgər, 784 00:56:44,080 --> 00:56:47,110 bir script bir növ ki, siz bunu necə yəqin olardı. 785 00:56:47,110 --> 00:56:50,350 Lakin C-shell bu array istifadə etmək çox asandır. 786 00:56:50,350 --> 00:56:58,250 Bu Bourne shell, dəyişənlərin bu kimi bir ifadə ilə təyin olunur, 787 00:56:58,250 --> 00:57:01,760 bir proqramlaşdırma dilində bir dəyişən təyin edə bilər yolu kimi, 788 00:57:01,760 --> 00:57:05,110 və burada heç bir boşluq olmalıdır. 789 00:57:05,110 --> 00:57:09,110 Bu yalnız 1 string ki, lazımdır. 790 00:57:09,110 --> 00:57:14,980 Bourne tipli mərmi, bütün dəyişənlər shell dəyişənlər var. 791 00:57:14,980 --> 00:57:19,250 Ətraf dəyişənlər shell dəyişənlər çoxluğudur. 792 00:57:19,250 --> 00:57:24,060 Onlar ixrac tərəfindən qeyri-mühit dəyişənlərin fərqlənir. 793 00:57:24,060 --> 00:57:28,860 Bunu etmək üçün komanda ixrac PRINTER kimi, ixrac edir. 794 00:57:28,860 --> 00:57:34,930 Biz belə bir dəyişən müəyyən etmək olsaydı, 795 00:57:34,930 --> 00:57:38,480 biz bunu tapmaq üçün çap komanda istəyirdi, əgər bir mühit dəyişən olmalıdır, 796 00:57:38,480 --> 00:57:40,730 və biz bir etmək necə. 797 00:57:40,730 --> 00:57:42,090 Burada cür confusing bir şey var. 798 00:57:42,090 --> 00:57:50,430 Bu ifadə, ətraf mühitə ixrac, bu Bourne shell konsepsiya irəli gəlir 799 00:57:50,430 --> 00:57:54,520 və hələ ki, ifadə, C-shell təsvirində istifadə olunur 800 00:57:54,520 --> 00:57:57,920 belə komanda ixrac olduğu. 801 00:57:57,920 --> 00:58:06,200 Siz yalnız özü tərəfindən ixrac demək, siz ixrac bir siyahısını almaq - 802 00:58:06,200 --> 00:58:10,620 Belə ki, mən yalnız burada ixrac, əgər belə bir şey. 803 00:58:13,620 --> 00:58:15,200 Okay, orada biz gedin. 804 00:58:15,200 --> 00:58:17,010 Bunlar, yolu ilə, həmçinin shell tərəfindən müəyyən edilir. 805 00:58:17,010 --> 00:58:19,400 Mən özümü bu hər hansı bir müəyyən etməyib. 806 00:58:19,400 --> 00:58:23,550 Bu shell özü şeyi bütün növ yoxdur. 807 00:58:23,550 --> 00:58:26,650 Bu avtomatik şeyi etməlidir. 808 00:58:30,240 --> 00:58:36,880 Bash ya Korn shell, siz bu kimi bir komanda çalıştırabilirsiniz 809 00:58:36,880 --> 00:58:42,000 bir dəyişən bir dəyər vermək və 1 komanda ixrac edəcək, həm də ki. 810 00:58:42,000 --> 00:58:46,150 Bu Bourne shell onlar ixrac a kimi ayrı-ayrı əmrləri olmalıdır. 811 00:58:46,150 --> 00:58:48,410 Burada confusing var ki, başqa aspektidir. 812 00:58:48,410 --> 00:58:52,220 C-shell müəyyən command dəyişənlərin müəyyən 813 00:58:52,220 --> 00:58:55,550 və heç bir dəlilləri ilə dəyişənlər 'dəyərlər nə sizə deyir. 814 00:58:55,550 --> 00:59:01,140 Bu Bash shell, heç dəlilləri ilə set command, eyni şey yoxdur 815 00:59:01,140 --> 00:59:03,580 lakin dəlilləri ilə kifayət qədər fərqli bir şey yoxdur. 816 00:59:03,580 --> 00:59:06,200 Belə ki, bu burada müxtəlif arqumentlər var. 817 00:59:06,200 --> 00:59:10,460 Bunlardan bəziləri bəziləri shell dəyişənlər var, ətraf mühit dəyişənlər var. 818 00:59:10,460 --> 00:59:13,200 Onların hamısı həqiqətən shell dəyişənlər var. Bəziləri mühit dəyişənlər var. 819 00:59:15,690 --> 00:59:23,920 Dəlilləri ilə set command fəaliyyət üçün istifadə edilə bilər 820 00:59:23,920 --> 00:59:28,220 bir script mövqeli parametrləri, 821 00:59:28,220 --> 00:59:33,910 olan bir dəfə onları bütün əldə bir yoldur. 822 00:59:33,910 --> 00:59:36,150 Biz, həqiqətən, bu gün getmək bilməz. 823 00:59:36,150 --> 00:59:39,580 O, həmçinin shell davranış dəyişdirmək üçün istifadə edilə bilər. 824 00:59:39,580 --> 00:59:46,700 Xüsusilə Bash shell davranır necə müəyyən edəcək dəyişənlər var. 825 00:59:46,700 --> 00:59:51,310 Sonra da siz görə bilərsiniz ki, yalnız bu bir komanda, bu komanda. 826 00:59:51,310 --> 00:59:59,050 Dəyişənlərin və dəyişən növləri izlədi typeset Korn və Baş mərmi istifadə olunur. 827 00:59:59,050 --> 01:00:04,970 Bu, məcburi deyil, lakin dəyişənlərin dəyərləri məhdudlaşdırmaq üçün istifadə edilə bilər 828 01:00:04,970 --> 01:00:08,400 səhvlərin qarşısını almaq üçün faydalı ola bilər, və bu, kifayət qədər ümumi var bilər. 829 01:00:08,400 --> 01:00:11,640 Mən yalnız halda bir yerdə görürük qeyd edirəm. 830 01:00:17,290 --> 01:00:19,160 The yerləşir komanda. 831 01:00:19,160 --> 01:00:22,490 Qeyd xatırlayıram əvvəllər olduğu C-shell command, 832 01:00:22,490 --> 01:00:28,750 bir komanda pathname yeri demək bilər. 833 01:00:28,750 --> 01:00:32,580 Burada komanda əvəzetmə edir. 834 01:00:32,580 --> 01:00:41,900 Siz haradasa sizin klaviatura bu kimi görünür ki, bir xarakter tapmaq lazımdır. 835 01:00:41,900 --> 01:00:44,910 Klaviatura yeri fərqli gedir. 836 01:00:44,910 --> 01:00:47,050 Biz bunu backquote adlı etdik. Bu quote ölçüsü haqqında. 837 01:00:47,050 --> 01:00:48,720 Bu hüququ aşağı yuxarı sol gedir. 838 01:00:48,720 --> 01:00:52,690 Burada mənim Mac klaviatura, yuxarı sol küncündə var. 839 01:00:52,690 --> 01:00:58,150 Ki, xarakter bir komanda ərzində bir əmr icra üçün istifadə edilə bilər. 840 01:00:58,150 --> 01:01:03,400 Siz backquotes daxilində ifadə varsa, 841 01:01:03,400 --> 01:01:07,080 ifadə run var, bir komanda deyil. 842 01:01:07,080 --> 01:01:09,010 Ki, komanda çıxış 843 01:01:09,010 --> 01:01:11,980 sonra bütün backquote ifadə əvəz olunur 844 01:01:11,980 --> 01:01:16,110 o çıxışı ilə çalışır uzun komanda daxilində 845 01:01:16,110 --> 01:01:22,010 s dəlilləri və onun simli hissəsi kimi. 846 01:01:22,010 --> 01:01:28,640 Burada ki, istifadə edən bir əmr edir. 847 01:01:28,640 --> 01:01:32,340 Burada əməliyyat göstərək. 848 01:01:44,980 --> 01:01:49,090 Bu backquotes almaq, burada gedək. 849 01:01:49,090 --> 01:01:54,410 Control A Emacs redaktə sintaksis ilə xəttin başında mənə olur. 850 01:01:54,410 --> 01:02:00,380 Bu günə qədər pathnames, harada nə edir 851 01:02:00,380 --> 01:02:05,040 Mən bu kimi bunu zaman, o pathnames ki siyahısında şamları 852 01:02:05,040 --> 01:02:08,750 Bu bütün backquote ifadə və onlara çalışır ls-l yerdə. 853 01:02:08,750 --> 01:02:11,120 Rahat cür, ha? 854 01:02:11,120 --> 01:02:14,860 Belə ki, bir səliqəli şey var. Bu backquotes necə var. 855 01:02:14,860 --> 01:02:17,560 İndi bir az daha aşağı gedək. 856 01:02:17,560 --> 01:02:22,050 Bu takma var. Mən, həqiqətən, bu istifadə edin. 857 01:02:22,050 --> 01:02:26,410 I 1 editing əməliyyat ilə bu almaq üçün cəhd edəcəyik. 858 01:02:34,900 --> 01:02:36,900 Okay. 859 01:02:36,900 --> 01:02:39,630 İndi o anlayışlar çıxdı necə edək. 860 01:02:39,630 --> 01:02:44,930 alias bu, müəyyən necə mənə izah lwh. 861 01:02:44,930 --> 01:02:51,210 Yalnız bu var, lakin xarici quotes off atılmışdır edək 862 01:02:51,210 --> 01:02:53,750 və nida point off alınır. 863 01:02:53,750 --> 01:02:58,940 * Bütün dəlilləri tam siyahısı. 864 01:02:58,940 --> 01:03:03,580 Bir alias müəyyən, mən bu istifadə etmək üçün geri müraciət edəcək. 865 01:03:03,580 --> 01:03:10,620 lwh ksh bash. Okay. 866 01:03:10,620 --> 01:03:13,960 Ki, işləri necə? Mənə bəzi yazaraq saxlayır. 867 01:03:13,960 --> 01:03:16,440 Yalnız burada başqa bir şey qeyd etmək bir az gedək. 868 01:03:19,150 --> 01:03:23,120 Bu müxtəlif mərmi edək. Mən əvvəl bu qeyd olmalıdır. 869 01:03:23,120 --> 01:03:36,060 The csh bir burada 2 və belə yoxdur / bin / Tcsh var. 870 01:03:36,060 --> 01:03:39,870 Biz o həqiqətən eyni fayl olan digər vasitələrlə təsis edə bilər. 871 01:03:39,870 --> 01:03:43,150 Siz bash almaq sh yazın əgər deyirdim xatırlayıram. 872 01:03:43,150 --> 01:03:47,390 Bu yazın və siz bu almaq. 873 01:03:47,390 --> 01:03:51,730 Lakin həmin bağlı deyil. Orada tək olanları var. 874 01:03:51,730 --> 01:03:54,910 Bu başqa bir zəng edə bilərsiniz olan fayl növü deyil. 875 01:03:54,910 --> 01:03:59,460 Belə ki, o ayrı-ayrı fayllar var; C-shell isə eyni faylı var. 876 01:03:59,460 --> 01:04:03,640 Geri aşağı burada, burada digər bir, bu alias, 877 01:04:03,640 --> 01:04:09,090 Bu komanda, fayl çalışan unutmayın. 878 01:04:09,090 --> 01:04:13,810 Yəni alias ki, çalışır. Fayl bir fayl növü deyir. 879 01:04:13,810 --> 01:04:20,330 Belə ki, fwh ksh bash. Okay. 880 01:04:20,330 --> 01:04:23,230 Bu fayl komanda çıxış edir. 881 01:04:23,230 --> 01:04:24,630 Bu burada nə deməkdir bilirsinizmi, mən bilmirəm 882 01:04:24,630 --> 01:04:26,750 2 arxitekturaları ilə Mach-O universal ikili. 883 01:04:26,750 --> 01:04:30,470 Mac 2 mümkün prosessor növləri var 884 01:04:30,470 --> 01:04:34,780 və bəzi proqramları ilə run etmək üçün yazılmışdır, 885 01:04:34,780 --> 01:04:37,950 və fayl komanda müəyyən edə bilərsiniz, belə ki, bu nə deməkdir var. 886 01:04:37,950 --> 01:04:40,660 Bu faylların ki, həm də yol yazılmışdır. 887 01:04:40,660 --> 01:04:43,760 Belə ki, biz, biz backquote necə işlədiyini görmək, takma necə işlədiyini görmək 888 01:04:43,760 --> 01:04:48,640 biz faktiki fayl ls və ya fayl necə işlədiyini görmək. 889 01:04:52,050 --> 01:04:57,000 Bu iş ola bilər. "Harada" və "lwh harada" cəhd edin. OK, ki, cəhd edək. 890 01:04:57,000 --> 01:05:01,040 harada. 891 01:05:01,040 --> 01:05:03,500 bir shell daxili edir. 892 01:05:03,500 --> 01:05:06,970 Əvvəllər biz Bash harada olmadığını göstərdi saxla. 893 01:05:06,970 --> 01:05:10,080 Siz Bash shell yerləşir yazın əgər, siz bir səhv baş beledir almaq. 894 01:05:10,080 --> 01:05:12,540 Bu olduqca ayrı bir komanda olan çox shell bir hissəsidir. 895 01:05:12,540 --> 01:05:20,000 Mən lwh harada axtarır yazın ne olur? Orada nə baxın. 896 01:05:20,000 --> 01:05:22,850 Harada qaçdı yerləşir, bu çıxış var, və sonra ls run çalışdı 897 01:05:22,850 --> 01:05:25,600 bir shell daxili olduğu barədə l kimi. 898 01:05:25,600 --> 01:05:28,790 harada var, lakin digər olanları yoxdur. 899 01:05:28,790 --> 01:05:32,090 Bunların heç biri həqiqətən mövcuddur. 900 01:05:32,090 --> 01:05:35,560 Belə ki, həmişə iş deyil, və bu da necə bəzi şeylər göstərir 901 01:05:35,560 --> 01:05:39,580 siz fikir ola bilər çox nə yoxdur. 902 01:05:40,930 --> 01:05:43,010 Gələcək burada bir az aşağı getmək edək. 903 01:05:44,890 --> 01:05:54,760 Burada bu Bash edir. Bu da backquote kimi komanda əvəzetmə edir. 904 01:05:54,760 --> 01:06:05,280 Amma backquote fərqli olaraq, bu dəyişən stil istifadə edir. 905 01:06:05,280 --> 01:06:09,860 Bir dollar işarəsi ilə başlayır olan ifadələr bir sıra var 906 01:06:09,860 --> 01:06:16,070 Bu dəyişənlər deyil isə, onlar dollar işarəsi istifadə borc 907 01:06:16,070 --> 01:06:19,570 bir növ ifadə göstərir. 908 01:06:19,570 --> 01:06:23,550 Ki, parantez və ya Mötərizədə və ya ikiqat parantez ilə əhatə oluna bilər, 909 01:06:23,550 --> 01:06:26,320 olan müxtəlif məqsədi var. 910 01:06:26,320 --> 01:06:29,500 Burada Single parantez yalnız backquotes kimi bir komanda əvəzetmə var. 911 01:06:29,500 --> 01:06:32,720 Double parantez həqiqətən bir hesab əməliyyatdır. 912 01:06:32,720 --> 01:06:35,380 Digər syntaxes, digər əməliyyatları var. 913 01:06:35,380 --> 01:06:41,520 Backquote syntax Bash mövcuddur. 914 01:06:41,520 --> 01:06:46,780 Lakin bu, bir üstünlük. Bu oxumaq üçün çox asandır və bu quş balası imkan verir. 915 01:06:46,780 --> 01:06:51,300 Siz $ (komanda) içərisində bir komanda ola bilər 916 01:06:51,300 --> 01:06:54,590 kimi bir şey - 917 01:07:14,560 --> 01:07:18,210 Mən orada bir siyahısını almaq. 918 01:07:18,210 --> 01:07:21,670 Mən də backquote əgər iş ki,. 919 01:07:32,050 --> 01:07:38,470 Mən kimi bir şey istəyirsinizsə - 920 01:08:03,390 --> 01:08:06,430 Siz yəqin ki, həqiqətən, bu funksiyanı istifadə deyil, 921 01:08:06,430 --> 01:08:14,160 lakin bu daxili command əvəzetmə ilə başlayan bütün faylların adlarını əks etdirir, 922 01:08:14,160 --> 01:08:18,229 bu bir, bu faylları ls-l çalışır 923 01:08:18,229 --> 01:08:20,500 və sonra bu yalnız çıxış əks etdirir. 924 01:08:21,729 --> 01:08:24,479 Siz yəqin ki, bunu olmaz; yalnız əks-səda və ya ls edərəm 925 01:08:24,479 --> 01:08:29,450 lakin bu əmrləri yuva işləri necə göstərir. 926 01:08:29,450 --> 01:08:34,380 Belə ki, yalnız bir xüsusiyyət burada. 927 01:08:34,380 --> 01:08:37,450  Mən bu əvvəllər qeyd, siz zaman olduğu C-shell, 928 01:08:37,450 --> 01:08:42,770 əmrləri yerləşdirilməsi üçün Bourne tipli örtüklərin işləri yazın. 929 01:08:48,939 --> 01:08:52,270 Mən orada deyərək nə yalnız Daxili əmrləri. 930 01:08:52,270 --> 01:08:54,640 Əmrləri olduğu kimi shell, hissəsidir. 931 01:08:54,640 --> 01:08:59,880 Shell ls kimi bir komanda icra, o, yolu vasitəsilə yerləşir 932 01:08:59,880 --> 01:09:03,029 , haradasa bir kataloq tapdığı 933 01:09:03,029 --> 01:09:05,800 yaddaş daxil, yeni shell yaradır deyilir ki, 934 01:09:05,800 --> 01:09:08,960 shell daxil komanda ls ya nə deyilir 935 01:09:08,960 --> 01:09:11,450 ətraf mühit dəyişənlər artıq yerləşdiyi, 936 01:09:11,450 --> 01:09:14,000 və sonra onu icra köçürür. 937 01:09:14,000 --> 01:09:18,319 Daxili komanda ki, komanda üçün kodu shell daxilində, 938 01:09:18,319 --> 01:09:21,460 belə shell yalnız öz kodu hissəsini həyata başlayır. 939 01:09:21,460 --> 01:09:24,569 belə bir əmr edir. Bu, faktiki olaraq daha sürətli olur. 940 01:09:24,569 --> 01:09:28,380 Bu yaddaş bir şey oxumaq deyil, bu yaddaş artıq var. 941 01:09:28,380 --> 01:09:32,460 Daxili əmrləri həmişə eyni adı ilə əmrləri üstün. 942 01:09:32,460 --> 01:09:36,050 Yolunda rehberler olan əmrləri eyni adı ola bilər, 943 01:09:36,050 --> 01:09:39,090 müxtəlif rehberler əmrləri, müxtəlif qovluqlarda faylları. 944 01:09:39,090 --> 01:09:41,740 Əvvəllər yolunda baş verir ki, bir almaq lazımdır biridir. 945 01:09:41,740 --> 01:09:43,770 Daxili command varsa, siz həmişə onu almaq. 946 01:09:43,770 --> 01:09:47,890 Bu yolu bir komanda aşağı üstün vermək üçün heç bir yol yoxdur. 947 01:09:47,890 --> 01:09:54,140 Ki, yol komanda almaq istəyirsinizsə, siz tam pathname edəbilərsiniz. 948 01:09:54,140 --> 01:09:55,850 Bir command yerləşir yerdə yolunda olsaydı, 949 01:09:55,850 --> 01:09:58,440 Siz / bin / Ü yazın bilər və bunu almaq istiyorum. 950 01:09:58,440 --> 01:10:01,800 Siz bütün yol adını yazın istəmirsinizsə, bir takma ad müəyyən edə bilər. 951 01:10:01,800 --> 01:10:06,310 Siz Alias ​​daxili komanda kimi eyni adı verdi əgər Əslində, bu iş 952 01:10:06,310 --> 01:10:08,790 takma definition qiymətləndirilir çünki 953 01:10:08,790 --> 01:10:13,220 shell bu icra olunmalıdır daxili command ki, müəyyən əvvəl. 954 01:10:18,810 --> 01:10:23,440 Sonra bu burada bəzi əmrləri ilə bir az daha mürəkkəb olur. 955 01:10:23,440 --> 01:10:29,880 Bəzi əmrləri işi həqiqətən inşa-in əmrləri və yolunda. 956 01:10:29,880 --> 01:10:34,140 Onlardan biri komanda Mən yalnız bu nümunələrdə bir az əvvəl istifadə echo edir. 957 01:10:34,140 --> 01:10:37,410 Echo yolunda bir komanda və hər shell var. 958 01:10:37,410 --> 01:10:40,580 Onlar mütləq bütün eyni şəkildə davranmaq deyil. 959 01:10:40,580 --> 01:10:42,970 Yalnız yolunda ilk bir komanda idi. 960 01:10:42,970 --> 01:10:45,280 Daha sonra mərmi üçün inşa edilmişdir. 961 01:10:45,280 --> 01:10:48,080 Ətraf mühitə asılı olan variantları var 962 01:10:48,080 --> 01:10:52,970 və command line variantları, daxili əmrləri 963 01:10:52,970 --> 01:10:57,030 yolunda olduğunu əmri eyni fəaliyyət üçün yazılmışdır, 964 01:10:57,030 --> 01:10:59,670 ki, onlar yol yazılı olardı çətin 965 01:10:59,670 --> 01:11:01,720 komanda artıq yoluna üçün yazılı olmasaydı. 966 01:11:01,720 --> 01:11:06,180 Belə ki, bu yan təsiri var. Onun tarixi burada təsiri var. 967 01:11:06,180 --> 01:11:08,380 Variantları var. 968 01:11:14,280 --> 01:11:23,060 Echo_style adlı Tcsh dəyişən müəyyən bir seçimi də var. 969 01:11:23,060 --> 01:11:27,700 Bu işləri əks-səda ki, yol dəyişə bilər ki, bu dəyişənlərin biri. 970 01:11:27,700 --> 01:11:30,910 Bir dəyişən təyin edə bilərsiniz olan digər halları var 971 01:11:30,910 --> 01:11:36,290 ki, daxili əmr, o cümlədən shell əməliyyat, çalışır ki, yolu dəyişir. 972 01:11:36,290 --> 01:11:38,130 Bu başqa bir şey təsir etməyəcək 973 01:11:38,130 --> 01:11:40,640 digər əmrləri shell dəyişənlər çıxışı yoxdur-ci ildən, 974 01:11:40,640 --> 01:11:42,090 yalnız mühit dəyişənlər. 975 01:11:42,090 --> 01:11:45,360 Amma shell əməliyyatlar shell dəyişənlər oxuya bilərsiniz. 976 01:11:45,360 --> 01:11:50,710 Bu CSH üçün iş deyil. Yalnız Tcsh var. Bu aksesuarların biri. 977 01:11:58,540 --> 01:12:04,620 Bu metacharacters qiymətləndirir zaman təhlil, ardıcıllığı var 978 01:12:04,620 --> 01:12:08,140 Bu dəyişənlər, takma, tarixi istinadlar qiymətləndirir zaman. 979 01:12:08,140 --> 01:12:11,830 Bu şeylər üçün xüsusi ardıcıllığı var. 980 01:12:11,830 --> 01:12:13,730 Bu xüsusi ardıcıllıqla etsə 981 01:12:13,730 --> 01:12:16,080 və bir növ bir ifadə var ki, bir şey olur 982 01:12:16,080 --> 01:12:20,650 artıq qiymətləndirdi edilmiş, yenidən bunu qiymətləndirmək olmaz. 983 01:12:20,650 --> 01:12:24,520 Onu alır, onda yalnız simvol keçəcək. 984 01:12:24,520 --> 01:12:29,920 Belə ki, əgər komanda əvəz kimi bəzi ifadələrin qiymətləndirilməsi 985 01:12:29,920 --> 01:12:36,850 və ya dəyişən və ya hər hansı bir ifadə yaranmasına səbəb olur 986 01:12:36,850 --> 01:12:39,240 siz qiymətləndirmək istəyirəm ki, 987 01:12:39,240 --> 01:12:42,510 ki, qiymətləndirmə sonra ardıcıllıqla yalnız baş əgər işləyəcək. 988 01:12:42,510 --> 01:12:45,010 Mən aydın orada olan alıram ümid edirik. 989 01:12:45,010 --> 01:12:50,460 Bu təhlil ardıcıllığı, C-shell bir əməliyyatda, 990 01:12:50,460 --> 01:12:56,490 qeyri-daxili əmrləri üçün olduğu kimi daxili əmrləri üçün eyni deyil. 991 01:12:56,490 --> 01:12:58,890 Mən orada Bash haqqında əmin deyiləm. 992 01:12:58,890 --> 01:13:02,450 Məsələn, bir shell dəyişən, bir tarixi arayış istehsal 993 01:13:02,450 --> 01:13:04,230 yəqin ki, geri tarixində getmək deyil. 994 01:13:04,230 --> 01:13:06,010 Bu, yalnız ünlem almaq olardı. 995 01:13:06,010 --> 01:13:08,840 Əslində, biz yalnız indi ki, cəhd edə bilərsiniz. 996 01:13:09,720 --> 01:13:18,240 bir = qurmaq və biz orada bu qoymaq lazımdır. 997 01:13:30,690 --> 01:13:34,580 Oh, gözləyin. Üzr istəyirik. Mən Bash bunu. Mən burada bunu etmək istəyirdi. 998 01:13:53,470 --> 01:13:56,080 Bax, belə ki, tarixi arayış qiymətləndirmək etməyib 999 01:13:56,080 --> 01:14:00,520 Bu tarix ifadələr qiymətləndirilməsi baxımından keçmiş artıq idi, çünki 1000 01:14:00,520 --> 01:14:02,720 Bu dəyişən qiymətləndirdi zaman. 1001 01:14:02,720 --> 01:14:05,550 Belə ki, təhlil 1 təsiri var. 1002 01:14:05,550 --> 01:14:08,760 Və yenə, daxili əmrləri eyni şəkildə işlər deyil. 1003 01:14:08,760 --> 01:14:11,230 Bütün hüquqlar. Burada növbəti bir gedək. 1004 01:14:11,230 --> 01:14:16,060 Bu 1 line üçün nəzərdə tutulmuşdur, lakin bu asan oxumaq üçün edilməsi oldu. 1005 01:14:19,130 --> 01:14:21,530 O nə edir? 1006 01:14:21,530 --> 01:14:28,640 Əgər biz fayl joker kimi ulduz qiymətləndirmək olar ki, geri bilər, 1007 01:14:28,640 --> 01:14:33,890 və sual işarəsi və bracket ifadələri kimi digər fayl joker var. 1008 01:14:33,890 --> 01:14:39,000 Qiymətləndirilməsi bu cür globbing adlanır. 1009 01:14:39,000 --> 01:14:46,290 Bu komanda başında noglob müəyyən yoxdur deyir. 1010 01:14:46,290 --> 01:14:53,370 unset noglob geri bunu getmək deyir. 1011 01:14:53,370 --> 01:14:56,440 Ki, set glob ki, təsir olmazdı Qeyd. 1012 01:14:56,440 --> 01:15:00,800 Adi dildə, müəyyən glob və ya unset noglob, ekvivalent olmaq görünür 1013 01:15:00,800 --> 01:15:03,290 lakin burada deyil. Bu unset noglob var. 1014 01:15:05,120 --> 01:15:07,910 İndi tset. tset terminal set üçün dayandı. 1015 01:15:07,910 --> 01:15:11,840 Windowing sistemləri oldu əvvəl ki, tez-tez istifadə, lakin deyil 1016 01:15:11,840 --> 01:15:15,760 və bir terminal var idi, siz növü müəyyən etmək üçün ola bilər. 1017 01:15:15,760 --> 01:15:18,700 Və bir şey bir Ethernet və ya şəbəkə gələn əgər, 1018 01:15:18,700 --> 01:15:21,120 siz bir vt100 demək istəyirəm bilər. 1019 01:15:21,120 --> 01:15:26,630 VT100 terminal iş standart növüdür. Bu DEC terminal gəlir. 1020 01:15:26,630 --> 01:15:35,270 Yalnız Dialup varsa - fark? Bu, ha geri yolları gedir? 1021 01:15:35,270 --> 01:15:39,520 Beləliklə, biz yalnız burada tset əgər, 1022 01:15:39,520 --> 01:15:45,250 Mən yalnız tset əgər, bu, mənim terminal sıfırlama edir, lakin heç bir şey görmədim. 1023 01:15:45,250 --> 01:15:47,340 Bu, həqiqətən bir şey dəyişmədi. 1024 01:15:47,340 --> 01:15:48,620 -S 1025 01:15:49,900 --> 01:15:51,480 Okay. 1026 01:15:51,480 --> 01:15:53,350 SetEnv TERM xterm-color. 1027 01:15:53,350 --> 01:15:57,080 Ki, dəyişməyib Biz artıq termini şəkildə müəyyən edilib ki, bilirik. 1028 01:15:57,080 --> 01:15:58,860 Yəni biz bunu istəyirəm yolu var. 1029 01:15:58,860 --> 01:16:07,080 Amma bu komanda, tset-s, yalnız çıxış bu əmrləri bilərsiniz. Onları etməyib. 1030 01:16:07,080 --> 01:16:09,770 Bu əmrləri etməyib, onları çıxış. 1031 01:16:09,770 --> 01:16:13,650 Belə ki, bu sonra davam edəcək olan əmrləri istehsal üçün nəzərdə tutulmuşdur. 1032 01:16:13,650 --> 01:16:16,360 Siz fayl komanda xatırlayıram mən yalnız siz bir Q göstərdi. 1033 01:16:16,360 --> 01:16:18,910 Belə ki, bunu bildirin. 1034 01:16:18,910 --> 01:16:23,750 Q bəzi çıxış qarşısını almaq, ancaq siz bilərsiniz kimi, burada əhəmiyyətli deyil. 1035 01:16:23,750 --> 01:16:27,980 Mən yalnız əhəmiyyətli olmadığını göstərmək üçün edirəm. 1036 01:16:27,980 --> 01:16:31,870 Bu backquote sintaksis edir. 1037 01:16:31,870 --> 01:16:35,340 Backquote burada, burada backquote Qeyd. 1038 01:16:35,340 --> 01:16:37,680 Mən burada bu şeyi omitting alıram. 1039 01:16:37,680 --> 01:16:39,570 Bu nə üçün izah halları 1040 01:16:39,570 --> 01:16:42,050 terminalların xüsusi növ halda - 1041 01:16:42,050 --> 01:16:45,400 Ethernet, şəbəkə, dialup, sizə nə. 1042 01:16:45,400 --> 01:16:48,050 Biz, həqiqətən, bu şeylər hər hansı məşğul deyilik, çünki burada etməz. 1043 01:16:48,050 --> 01:16:49,720 Mən yalnız əmr şərh edirəm. 1044 01:16:49,720 --> 01:16:55,170 Mən backquote ilə bunu əgər, nə üçün gedirəm? 1045 01:16:55,170 --> 01:17:00,210 Həmçinin bu set noglob və unset noglob daxil, burada qeyd, 1046 01:17:00,210 --> 01:17:02,630 belə ki, bu, indi müəyyən lazımsız edilir. 1047 01:17:02,630 --> 01:17:05,380 Ki, həmişə doğru deyil, lakin indi onlar bu əmri daxil edirik. 1048 01:17:05,380 --> 01:17:08,890 Amma mən ki, əgər nə görmək edək 1049 01:17:08,890 --> 01:17:12,570 və Control A xəttin əvvəlində getmək və mən bunu. 1050 01:17:14,380 --> 01:17:18,040 Okay, set: Command tapılmadı. Bu cür tək, bu deyil? 1051 01:17:18,040 --> 01:17:20,570 set tanınmış əmr edir. Bu shell hissəsi. 1052 01:17:20,570 --> 01:17:24,040 müəyyən: Command tapılmadı? Niyə ki? 1053 01:17:24,040 --> 01:17:26,790 Hmm. Yaxşı, bu barədə düşünmək bildirin. 1054 01:17:26,790 --> 01:17:31,100 Bu backquote command əvəz çalışan, 1055 01:17:31,100 --> 01:17:37,430 ki, komanda təhlil ardıcıllığı müəyyən bir hissəsi baş verir. 1056 01:17:37,430 --> 01:17:40,360 set daxili əmr edir. 1057 01:17:40,360 --> 01:17:43,900 Belə ki, komanda əvəzetmə yoxdur zaman, 1058 01:17:43,900 --> 01:17:48,280 Bu artıq inşa-in əmrləri müəyyən baxımından keçmiş kazanılmış var. 1059 01:17:48,280 --> 01:17:51,900 Belə ki, bu yolun bir command sanki müəyyən alır. 1060 01:17:51,900 --> 01:17:55,440 Deməyə ehtiyac yoxdur, onu tapmaq deyil və bir səhv almaq. 1061 01:17:55,440 --> 01:17:59,300 Yaxşı. Təhlil ardıcıllıqla bir misal var. 1062 01:17:59,300 --> 01:18:01,460 Və biz bu barədə nə etməliyəm? 1063 01:18:01,460 --> 01:18:04,800 Eval, burada bu çox maraqlı komanda edək. 1064 01:18:04,800 --> 01:18:06,530 Mən nə wonder. 1065 01:18:06,530 --> 01:18:08,760 Siz dərslik baxsaq - edək yalnız bunu 1066 01:18:08,760 --> 01:18:12,000 Bu təlimatlar necə confusing göstərmək - 1067 01:18:12,000 --> 01:18:19,400 man Tcsh, qarışıq manual, burada şeyi tapmaq və ya asan deyil. 1068 01:18:19,400 --> 01:18:31,850 Burada eval ARG, getmək, belə ki, biz 1 və ya daha çox arqumentlər ola bilər 1069 01:18:31,850 --> 01:18:34,090 və hər şeyi bir siyahısı var var. 1070 01:18:34,090 --> 01:18:37,730 Shell giriş kimi dəlilləri alır 1071 01:18:37,730 --> 01:18:43,600 və cari shell kontekstində nəticəsində əmrləri icra. 1072 01:18:43,600 --> 01:18:46,900 Bu adətən komanda nəticəsində yaradılan əmrləri yerinə yetirmək üçün istifadə olunur 1073 01:18:46,900 --> 01:18:51,310 və ya dəyişən əvəz təhlil bu Əvəzedicilərimiz əvvəl baş verir, çünki. 1074 01:18:51,310 --> 01:18:52,580 Çox yaxşı. 1075 01:18:52,580 --> 01:18:54,740 Və burada hətta bir nümunə istifadə üçün tset komanda baxın 1076 01:18:54,740 --> 01:18:57,700 bir kimi mən yalnız siz göstərdi. 1077 01:18:57,700 --> 01:19:00,440 İndi geri faydalı yerə pəncərə almaq lazımdır. 1078 01:19:03,150 --> 01:19:07,800 Burada üzərində almaq və biz eval yalnız əvvəl istifadə olunur görəcəksiniz. 1079 01:19:07,800 --> 01:19:14,010 Burada biz komanda üçün okları ilə getmək - Belə ki, biz qoymaq əgər nə görmək edək 1080 01:19:14,010 --> 01:19:20,940 və əvvəlinə Control A, eval. 1081 01:19:20,940 --> 01:19:22,850 OK, belə işləyir. 1082 01:19:22,850 --> 01:19:26,440 Siz eval nə zaman, ondan sonra gəlir nə edir və bir komanda edir. 1083 01:19:26,440 --> 01:19:29,460 Bu mahiyyətcə iki dəfə analiz imkan verir. 1084 01:19:29,460 --> 01:19:33,710 Burada hissəsində, backquotes daxilində bu funksiyanı çalışır 1085 01:19:33,710 --> 01:19:36,210 çıxış olur. 1086 01:19:36,210 --> 01:19:42,850 Çıxış bu kimi burada həmin əmrləri run ehtimal edilir 1087 01:19:42,850 --> 01:19:45,890 bu bir və bu bir. 1088 01:19:45,890 --> 01:19:50,100 Belə ki, həmin əmrləri indi burada bu ardıcıllıqla, 1089 01:19:50,100 --> 01:19:58,950 lakin bu əmrləri inşa və dərhal onları əldə edə bilməz. 1090 01:19:58,950 --> 01:20:06,440 Beləliklə, biz Eval getmək, eval, qədər seçer təzədən bütün şey başlayır və işləyir. 1091 01:20:06,440 --> 01:20:18,460 Nümunə backquoting, həm də eval, təhlil, təhlil nəticələri, 1092 01:20:18,460 --> 01:20:21,910 və yəqin ki, indi sizə çox az istifadə olan bir komanda. 1093 01:20:21,910 --> 01:20:25,540 Okay. Bütün sağ, Umask. 1094 01:20:25,540 --> 01:20:32,160 , Burada bu əmri baxaq 022 Umask. Mən nə wonder. 1095 01:20:32,160 --> 01:20:38,420 Yalnız bundan sonra heç bir şey Umask yazın edək. 22. Okay. 1096 01:20:38,420 --> 01:20:44,350 022 və daha bunu. 1097 01:20:44,350 --> 01:20:48,580 Siz guessed ola bilər kimi, heç bir dəlilləri ilə Umask cari maska ​​deyir; 1098 01:20:48,580 --> 01:20:51,760 dəlilləri ilə Umask ki edir, lakin mən artıq idi biri idi. 1099 01:20:51,760 --> 01:20:53,800 022 nə deməkdir? 1100 01:21:01,650 --> 01:21:07,080 Bu burada bir fayl üçün mühafizəsi var. 1101 01:21:07,080 --> 01:21:11,440 Onlar fayl oxumaq və ya yazmaq və ya icra etmək üçün icazə olan müəyyən. 1102 01:21:11,440 --> 01:21:16,560 Mühafizəsi də icazələrin deyilir. 1103 01:21:16,560 --> 01:21:21,390 The r, oxumaq, yazmaq üçün W dayanır 1104 01:21:21,390 --> 01:21:25,500 və orada olmayan x, icra üçün dayanır. 1105 01:21:25,500 --> 01:21:27,260 Orada 3 kateqoriyalar var. 1106 01:21:27,260 --> 01:21:33,540 Son 3 elementləri istifadəçi kateqoriyadadır. O, mənə istifadəçi tətbiq olunur. 1107 01:21:33,540 --> 01:21:36,870 Burada bu 3 qrup müraciət. 1108 01:21:36,870 --> 01:21:41,590 Fayl 1 qrupuna aiddir, istifadəçi bir neçə qrupa üzv ola bilər, 1109 01:21:41,590 --> 01:21:47,150 ancaq istifadəçi bu faylı aid olduğu qrup olduğu halda, 1110 01:21:47,150 --> 01:21:51,090 o user deyil, əgər bu müdafiə ona müraciət edəcək. 1111 01:21:51,090 --> 01:21:54,230 Və bu hər kəs edir. 1112 01:21:55,540 --> 01:21:57,690 Bu kateqoriyalar qarşılıqlı eksklüziv. 1113 01:21:57,690 --> 01:21:59,750 Istifadəçi müdafiə ona müraciət, 1114 01:21:59,750 --> 01:22:03,780 qrup mühafizəsi, istifadəçi başqa qrup üzvlərinə şamil 1115 01:22:03,780 --> 01:22:08,110 və digər müdafiə yalnız istifadəçi və qrup üzvləri çox digər insanlara müraciət. 1116 01:22:08,110 --> 01:22:12,320 Bir və ya r aw və ya bir x varsa, bu müdafiə verilir deməkdir. 1117 01:22:12,320 --> 01:22:13,950 Bir tire varsa, bu deyil deməkdir. 1118 01:22:13,950 --> 01:22:16,690 Həqiqətən, bu başqa burada qoymaq olar ki, başqa şeylər var 1119 01:22:16,690 --> 01:22:18,350 Mən indi nəzərə almaq deyil. 1120 01:22:18,350 --> 01:22:24,450 Bu Umask yaratmaq fayllar üçün defolt müəyyən edir. 1121 01:22:24,450 --> 01:22:28,580 Və bir maska ​​kimi, əsasən bu müəyyən deyil ki, bit deyir. 1122 01:22:28,580 --> 01:22:30,450 Bu necə bit oldu? 1123 01:22:30,450 --> 01:22:33,240 Bir octal sayı bu hər hesab edirəm ki, əgər 1124 01:22:33,240 --> 01:22:42,120 Bu, 1s az bu 2s edir, bu 4s edir. 1125 01:22:42,120 --> 01:22:45,840 Belə ki, 0 7 vasitəsilə 1126 01:22:45,840 --> 01:22:51,770 Bu 3 Siz r nin nə birləşməsi, w, ve x nin təsvir edəcək 1127 01:22:51,770 --> 01:22:53,710 və sonra bu və bu üçün bir oxşar sayı. 1128 01:22:53,710 --> 01:23:12,030 Belə ki, 022 digər 0, qrup üçün 2, istifadəçi üçün 2 deməkdir. 1129 01:23:12,030 --> 01:23:15,870 Amma bu bir maska. Bu maska ​​siz yoxdur nə. 1130 01:23:19,380 --> 01:23:20,610 Üzgünüm. Mən yalnız səhv üçün, sizə verdi. 1131 01:23:20,610 --> 01:23:25,620 Bu ilk 3 var. Bu 3 istifadəçi var, bu 3 qrup var, bu 3 digər var. 1132 01:23:25,620 --> 01:23:27,970 Bağışlayın mən səhv üçün bu verdi. 1133 01:23:27,970 --> 01:23:31,910 O ilk olan 0, dəyəri göstərmək deyil 1134 01:23:31,910 --> 01:23:35,430 bir sıra deyil, bu, bir 0 var. 1135 01:23:35,430 --> 01:23:38,370 Yəni bütün bunlar 3 icazə deməkdir. 1136 01:23:38,370 --> 01:23:41,550 Bu bir x icazə verilmir ki, görürsünüz. 1137 01:23:41,550 --> 01:23:44,090 Səbəbi shell müəyyən etməyə qadirdir ki, 1138 01:23:44,090 --> 01:23:46,260 olub bir fayl icra və ya olmalıdır. 1139 01:23:46,260 --> 01:23:49,800 Bu bir yürütülebilir fayl olduğundan, x müəyyən etməyib. 1140 01:23:49,800 --> 01:23:54,000 Burada icazə, ikinci kateqoriya yazmaq ki, 2 vasitələri, 1141 01:23:54,000 --> 01:23:56,500 ortada bir maneə törədildi. 1142 01:23:56,500 --> 01:23:58,500 Belə ki, yenə bu inkar edən şeylər. 1143 01:23:58,500 --> 01:24:02,080 Yaxşı, x icazə lakin yürütülebilir deyil, çünki burada deyil olunur 1144 01:24:02,080 --> 01:24:04,260 və eyni başqaları üçün. 1145 01:24:04,260 --> 01:24:08,880 Belə ki, bir ümumi Umask var. 1146 01:24:08,880 --> 01:24:14,630 Digər ümumi bir 700 - Özünüzü hər şey və heç bir başqa bir şey verir. 1147 01:24:14,630 --> 01:24:17,040 Və digər imkanları var. 1148 01:24:21,340 --> 01:24:27,110 Mən ki, geri getmək lazımdır. Mən orada lwh ki, geri axtarış edə bilərsiniz tarixi istifadə edərək. 1149 01:24:27,110 --> 01:24:30,210 Okay. Belə ki, burada, bu mərmi. 1150 01:24:30,210 --> 01:24:36,020 Bash, sistem hesab olan sahibi, hər şeyi edə bilərsiniz. 1151 01:24:36,020 --> 01:24:41,210 Group və hər kəs oxumaq və ya icra amma yazmaq edə bilərsiniz. 1152 01:24:41,210 --> 01:24:44,570 Bu hətta sahibi yazmaq üçün imkan vermir. 1153 01:24:44,570 --> 01:24:46,460 Sahibi, bu sistem hesab yazmaq istəyirdi 1154 01:24:46,460 --> 01:24:48,020 o, ilk müdafiə dəyişdirmək lazımdır. 1155 01:24:48,020 --> 01:24:53,940 Amma yenə Umask maskeleme tərəfindən default edir, 1156 01:24:53,940 --> 01:24:57,160 müəyyən deyil ki, bit göstərilməklə. 1157 01:24:57,160 --> 01:25:04,380 Bu C-shell üçün. Cshrc olan, sizin başlatma faylları bir adətən 1158 01:25:04,380 --> 01:25:07,500 və ya Bourne tipli mərmi üçün. profile. 1159 01:25:07,500 --> 01:25:12,520 Sistem digər başlatma faylları var ki, bu da başqa yerdə ola bilər. 1160 01:25:12,520 --> 01:25:14,610 Hər halda, Umask var. 1161 01:25:14,610 --> 01:25:18,180 Burada tək bir şey cür var 1162 01:25:18,180 --> 01:25:22,800 ki, niyə bir komanda bu var, var? 1163 01:25:22,800 --> 01:25:28,690 Mən bu yazı idi, mən bir dəyişən, Umask = bəzi dəyəri edəcək. 1164 01:25:28,690 --> 01:25:31,100 Niyə bütün komanda yalnız bu məqsəd üçün var? 1165 01:25:31,100 --> 01:25:34,560 Səbəbi yalnız geri Unix mənşəyi keçir. 1166 01:25:34,560 --> 01:25:41,050 Unix erkən 1970-ci ildə Bell Labs yalnız bəzi proqramlaşdırma layihə idi. 1167 01:25:41,050 --> 01:25:42,610 İnsanlar yalnız proqram birlikdə var. 1168 01:25:42,610 --> 01:25:45,290 Onlar dünyanın bir əməliyyat sistemi olmaq üçün nəzərdə heç vaxt. 1169 01:25:45,290 --> 01:25:47,250 Müxtəlif insanlar çox düşünmədən müxtəlif yazdı 1170 01:25:47,250 --> 01:25:49,790 çox yarım yamalak - necə onlar üçün istifadə etmək niyyətində idi. 1171 01:25:49,790 --> 01:25:53,290 Və bu kimi bir araya gəldi və bu, bəzi hallarda olduğu kimi hələ də var. 1172 01:25:53,290 --> 01:25:57,930 Belə ki, tarixini əks etdirir və bu uyğunsuzluqlar və tək elementləri var. 1173 01:25:57,930 --> 01:26:00,750 Okay. Burada Next biridir. 1174 01:26:08,170 --> 01:26:11,000 Mən əvvəllər yazırdı ki, C-shell həqiqətən, proqramlaşdırma üçün çox istifadə olunur 1175 01:26:11,000 --> 01:26:12,420 ola bilər, baxmayaraq. 1176 01:26:12,420 --> 01:26:15,080 Bu, daha yavaş-yavaş, daha interaktiv istifadə arasında ticarət-off icra 1177 01:26:15,080 --> 01:26:17,820 sürət daha cəlb daha emal var, 1178 01:26:17,820 --> 01:26:20,710 olan emal olmadan edə bilərsiniz. 1179 01:26:20,710 --> 01:26:28,320 Bu Korn və Bourne yenidən mərmi ilə Bourne shell əlavə əlavə funksiyalar 1180 01:26:28,320 --> 01:26:32,120 onlara aşağı yavaş görünmüyor ki, niyə bilmirəm. 1181 01:26:32,120 --> 01:26:36,310 Bu, yalnız daha yaxşı proqramlaşdırma ola bilər, amma bilmək iqtidarında deyiləm. 1182 01:26:36,310 --> 01:26:40,420 Qeyd edilir, baxmayaraq ki, burada sürətləndirilməsi, həqiqətən, belə bir böyük deyil. 1183 01:26:40,420 --> 01:26:43,690 Səbəbi shell scripts həqiqətən kifayət qədər sürətli almaq edir. 1184 01:26:43,690 --> 01:26:46,450 Kimi əmrləri bir çox, bir calculational proqram varsa 1185 01:26:46,450 --> 01:26:49,110 yəqin ki, bir shell script bunu deyil. 1186 01:26:49,110 --> 01:26:51,450 Bu əməliyyatlar kifayət qədər sadə və sadə var. 1187 01:26:51,450 --> 01:26:53,960 Çox yavaş ki, mən yaşadığınızı olanlar 1188 01:26:53,960 --> 01:26:57,110 yavaş əmrləri təkrar applications daxildir. 1189 01:26:57,110 --> 01:27:00,480 Əvvəllər mən lakin sel redaktoru qeyd. Bu komanda yavaş. 1190 01:27:00,480 --> 01:27:03,760 Siz sed dəfələrlə icra, bir yavaş script almaq lazımdır, lakin yavaş olan shell deyil. 1191 01:27:03,760 --> 01:27:07,920 Bourne shell çalışan, C-shell çalışan çox daha sürətli olacaq 1192 01:27:07,920 --> 01:27:10,070 bəzi üstünlükləri var bəlkə var, baxmayaraq ki,. 1193 01:27:10,070 --> 01:27:12,760 Əlavə proqramlaşdırma imkanları, digər tərəfdən, 1194 01:27:12,760 --> 01:27:17,920 Siz Bourne tipli mərmi istifadə ki, niyə əhəmiyyətli səbəbləri var. 1195 01:27:17,920 --> 01:27:21,390 C-shell bu tək xüsusiyyətləri vardır - 1196 01:27:21,390 --> 01:27:25,250 Bir dəyişən bir shell dəyişən və ya ətraf mühit dəyişən əgər bilmirəm ki. 1197 01:27:25,250 --> 01:27:27,440 Bu, çox confusing ola bilər. 1198 01:27:27,440 --> 01:27:32,170 Bu yazmaq belə asan deyil 1199 01:27:32,170 --> 01:27:35,930 yalnız digər dillərdə proqramlaşdırma sizin təcrübə əsaslanır. 1200 01:27:35,930 --> 01:27:41,350 Mən sizin təcrübə ilə Bourne tipli mərmi daha ardıcıl tapa bilər. 1201 01:27:43,730 --> 01:27:49,270 Bəzi scripts, baxmayaraq ki, uzunluğu xətlərinin minlərlə ola bilər. 1202 01:27:49,270 --> 01:27:52,450 Mən gördüm ki, o əməliyyat sistemləri patching üçün istifadə olunur. 1203 01:27:52,450 --> 01:27:55,450 O çox yavaş-yavaş icra edə bilər, lakin çox tez-tez bu run etməyin. 1204 01:27:55,450 --> 01:27:57,180 Bu patching edirik yalnız var, 1205 01:27:57,180 --> 01:27:59,450 və bu şeyi görən yalnız sistem meneceri var, 1206 01:27:59,450 --> 01:28:01,840 belə ki, bir məsələ həqiqətən çox deyil. 1207 01:28:01,840 --> 01:28:06,980 Xətləri yüzlərlə olan uzun həqiqətən kifayət qədər tez icra. 1208 01:28:06,980 --> 01:28:10,540 Burada bu qeyd, o aksesuarların nə var? 1209 01:28:10,540 --> 01:28:13,170 Diziler, hesablamalar, - mən artıq onlara bir neçə qeyd etdik 1210 01:28:13,170 --> 01:28:20,540 dollar (bu Bash shell hesablamalar üçün) ifadəsi, 1211 01:28:20,540 --> 01:28:23,050 komanda əvəz digər növ. 1212 01:28:23,050 --> 01:28:25,360 Test əmrləri müxtəlif növ var 1213 01:28:25,360 --> 01:28:29,350 olan bir fayl və ya digər şeylər mövcudluğu şərti test edə bilərsiniz. 1214 01:28:29,350 --> 01:28:34,790 Burada davam, burada bu komanda. 1215 01:28:34,790 --> 01:28:38,480 Bu nə və nə üçün heç kim istifadə edir? 1216 01:28:51,170 --> 01:28:52,990 printenv variablename. 1217 01:28:52,990 --> 01:28:56,130 Biz printenv nə bilirik. Bu, bizə bir dəyişən dəyəri deyir. 1218 01:28:56,130 --> 01:29:00,850 Belə dəyişən var, çünki printenv variablename bizə çox demək deyil. 1219 01:29:03,550 --> 01:29:05,120 Blank. 1220 01:29:05,120 --> 01:29:08,440 Amma bu mənalı bir şey verək. 1221 01:29:13,420 --> 01:29:16,800 Ki, ya yoxdur. Okay. Mən ki, heç vaxt müəyyən danışarlar. 1222 01:29:16,800 --> 01:29:18,020 Yalnız mənim mühit yoxlamaq edək. 1223 01:29:18,020 --> 01:29:20,900 Bu sizin ətraf mühit yoxlamaq bilər olan bir əmr edir. 1224 01:29:20,900 --> 01:29:24,470 Yaxşı köhnə REDAKTORU, biz əvvəl gördüm, bir var. 1225 01:29:42,360 --> 01:29:44,120 O nə edir? 1226 01:29:44,120 --> 01:29:48,050 Burada biz bir backquote ifadə var. 1227 01:29:48,050 --> 01:29:50,370 Bu C-shell saxla. 1228 01:29:50,370 --> 01:29:54,850 Belə ki, printenv REDAKTORU bizə REDAKTORU bir dəyər verəcək. Bu vi var. 1229 01:29:54,850 --> 01:29:59,790 Və sonra dəyişən a, set komanda ki, dəyəri müəyyən edəcək. 1230 01:29:59,790 --> 01:30:02,860 Mən echo $ a əgər Belə ki, indi mən vi almaq. 1231 01:30:02,860 --> 01:30:05,850 Bu olduqca faydalı görünmür. 1232 01:30:05,850 --> 01:30:08,080 Lakin, həqiqətən bir məqsəd yoxdur. 1233 01:30:08,080 --> 01:30:12,260 Biz bir dəyişən bir shell dəyişən və ya ətraf mühit dəyişən olub bilmirəm ildən 1234 01:30:12,260 --> 01:30:16,280 dollar işarəsi qiymətləndirmə sintaksis istifadə edərək, biz printenv istifadə edə bilərsiniz 1235 01:30:16,280 --> 01:30:19,460 bir mühit dəyişən ki, əmin olun. 1236 01:30:19,460 --> 01:30:22,550 Bir shell dəyişən redaktoru var idi Belə ki, bu kazanılmış olmazdılar. 1237 01:30:22,550 --> 01:30:25,640 Bu yalnız mühit dəyişən ilə işləyir. 1238 01:30:25,640 --> 01:30:28,370 Bir shell dəyişən idi və mən onun dəyəri istəyirdi, 1239 01:30:28,370 --> 01:30:29,980 Mən bunu bəzi digər yol tapmaq üçün var ediyorum. 1240 01:30:29,980 --> 01:30:33,530 Bunu etmək üçün bir yol dəsti və boru etməklə olardı. 1241 01:30:33,530 --> 01:30:36,130 Bu metacharacters, xüsusi simvol biridir. 1242 01:30:36,130 --> 01:30:38,370 Bu başqa bir şey set çıxış göndərir. 1243 01:30:38,370 --> 01:30:40,650 Biz orada tapa bilər nə görmək edək. 1244 01:30:40,650 --> 01:30:49,340 Heç bir şey. Okay. Yalnız bütün birlikdə orada nə görmək edək. 1245 01:30:49,340 --> 01:30:53,580 Bu echo_style, mən əvvəl qeyd biri idi. Okay, bunu edək. 1246 01:31:02,460 --> 01:31:06,230 Mən echo_style, əvvəl qeyd saxla 1247 01:31:06,230 --> 01:31:08,410 echo komanda davam edəcək yolu müəyyən edir. 1248 01:31:08,410 --> 01:31:10,940 bsd Berkeley Standard Dağıtım dayanır. 1249 01:31:10,940 --> 01:31:13,200 Bu 1970-dən Berkeley Unix edir. 1250 01:31:13,200 --> 01:31:16,630 Bu çalıştırabilirsiniz əks-səda ki yollarından biri var. 1251 01:31:16,630 --> 01:31:22,310 TC-shell ki, dəyəri echo_style qurulması echo yol davranmaq səbəb olacaq. 1252 01:31:22,310 --> 01:31:27,670 Belə ki, yoxdur müəyyən lakin müəyyən yalnız shell dəyişənlər olur. 1253 01:31:27,670 --> 01:31:35,430 Bu shell dəyişən deyil REDAKTORU tapmaq deyil. 1254 01:31:36,870 --> 01:31:38,050 Heç bir şey. 1255 01:31:38,050 --> 01:31:39,660 Belə ki, onları fərqləndirən bir yoldur. 1256 01:31:39,660 --> 01:31:42,000 Amma var ki, belə bir qəribə komanda vasitəsilə getmək üçün 1257 01:31:42,000 --> 01:31:45,500 shell dəyişənlərin və ya ətraf mühit dəyişənlər ayırmaq üçün 1258 01:31:45,500 --> 01:31:49,970 bəzi məqsədlər üçün C-shell mümkün təbiətin cür göstərir. 1259 01:31:52,290 --> 01:31:57,960 Və indi, son və bəlkə, ən azı, bu adam pages edir. 1260 01:31:57,960 --> 01:32:03,190 Bildiyiniz kim, o, insan dərslik üçün komanda qısa. 1261 01:32:03,190 --> 01:32:08,610 Bu mərmi üçün adam pages oxumaq çətindir. Onlar çox uzun istəyirik. 1262 01:32:08,610 --> 01:32:14,060 Onlar çətin aradığınız nə tapmaq üçün edə bilər ki, bir şəkildə təşkil edirik. 1263 01:32:14,060 --> 01:32:15,980 Belə bir məqsədi ilə bir şey axtarır əgər, 1264 01:32:15,980 --> 01:32:20,050 ki, məqsəd bir shell dəyişən və ya başqa bir şey, əgər bilmirəm bilər 1265 01:32:20,050 --> 01:32:21,630 belə ki, burada onu axtarmaq üçün bilmirəm bilər. 1266 01:32:21,630 --> 01:32:25,030 Siz müxtəlif strings üçün baxa bilərsiniz, ancaq strings tez-tez təkrarlanır. 1267 01:32:25,030 --> 01:32:27,640 Belə ki, ümumiyyətlə oxumaq çətindir. 1268 01:32:27,640 --> 01:32:33,810 Biz yalnız eval komanda tapmaq üçün bir az əvvəl TC-shell man səhifəsində baxdı. 1269 01:32:33,810 --> 01:32:36,610 Bəzi şeylər daha sürətli getmək. 1270 01:32:36,610 --> 01:32:38,860 Bir yanaşma bir string axtarmaq üçün. 1271 01:32:38,860 --> 01:32:40,360 Siz çağrı cihazı istifadə edə bilərsiniz. 1272 01:32:40,360 --> 01:32:49,080 Çağrı bir çağrı cihazı əməliyyat daxilində əmr və ya bir string axtarmaq üçün çizgi var. 1273 01:32:49,080 --> 01:32:52,830 Default Man az və ya çox ola, ya pagers istifadə edəcək. 1274 01:32:52,830 --> 01:32:56,560 Siz ilə tanış değilseniz mən bilmirəm, lakin o bit ilə faylları az göstərmək olar. 1275 01:32:56,560 --> 01:33:00,550 Mən biz burada var bu xüsusi faylları keçirmək üçün az istifadə etdik. 1276 01:33:00,550 --> 01:33:03,300 Siz daxili axtarış edə bilərsiniz. 1277 01:33:03,300 --> 01:33:04,880 Siz müxtəlif axtarış strings istifadə edərək, cəhd edə bilərsiniz. 1278 01:33:04,880 --> 01:33:08,420 Həmçinin müxtəlif əməliyyat sistemləri man pages eyni olmaya bilər. 1279 01:33:08,420 --> 01:33:11,130 Onlar CSH və Tcsh üçün ayrı-ayrı pages ola bilər. 1280 01:33:11,130 --> 01:33:14,500 Onlar Mac deyil, lakin bu ayrı-ayrı əmrləri əgər onlar ola bilər. 1281 01:33:14,500 --> 01:33:19,000 Sh həqiqətən Bash zəng deyilsə, yəqin ki, bir ayrı adam səhifə olacaq. 1282 01:33:19,000 --> 01:33:25,820 Bəzi sistemləri yalnız C-shell daxili əmrləri üçün ayrı-ayrı man pages var. 1283 01:33:25,820 --> 01:33:30,250 Bəzən daxili əmr təsviri oxumaq istəyirsinizsə 1284 01:33:30,250 --> 01:33:35,350 ki, yol da var, əks-səda kimi, siz echo ki komanda adam səhifə oxumaq lazımdır 1285 01:33:35,350 --> 01:33:37,610 bir daxili komanda kimi iş necə müəyyən etmək üçün 1286 01:33:37,610 --> 01:33:39,760 Siz daxili komanda zəng deyilik olsa belə. 1287 01:33:41,630 --> 01:33:46,090 Ki, ümumiyyətlə, əməliyyat sisteminin bir günah var, mərmi üçün deyil, 1288 01:33:46,090 --> 01:33:50,710 Bu mərmi üçün xüsusi adam pages, olduqca uzun olmasına baxmayaraq 1289 01:33:50,710 --> 01:33:56,180 qismən çünki onlar müsbət ola bilər, onlara faydalı funksiyalar ekledik. 1290 01:33:56,180 --> 01:34:00,290 Okay. Hər hansı bir sualınız var? Siz gətirmək istədiyiniz mövzular? 1291 01:34:00,290 --> 01:34:03,390 Burada müvafiq bir şey? 1292 01:34:04,540 --> 01:34:07,100 Bəli, bu bütün söhbət çox gözəl oldu. 1293 01:34:07,100 --> 01:34:09,690 Mən sizə bu seminar həyata bir şey var ümid 1294 01:34:09,690 --> 01:34:13,080 ki, gələcək fəaliyyətində sizin üçün faydalı olacaq. 1295 01:34:17,330 --> 01:34:19,000 [CS50.TV]