در این مطلب، ویدئو کار با Bash و Python | اتوماسیون فناوری اطلاعات گوگل با گواهی پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:32:59
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,880 –> 00:00:02,879
این درس بخشی از google it
2
00:00:02,879 –> 00:00:04,640
automation با گواهینامه پایتون است
3
00:00:04,640 –> 00:00:06,720
که به شما git python مورد تقاضا
4
00:00:06,720 –> 00:00:08,960
و مهارت های اتوماسیون آن را برای پیشرفت
5
00:00:08,960 –> 00:00:11,679
حرفه خود در آن ارائه
6
00:00:11,679 –> 00:00:14,160
7
00:00:14,160 –> 00:00:15,200
8
00:00:15,200 –> 00:00:18,240
9
00:00:18,240 –> 00:00:20,960
می دهد.
10
00:00:20,960 –> 00:00:23,760
برای ثبت نام در تجربه یادگیری کامل امروز، از گواهی رسمی خود بازدید کنید. Google itcert برای ثبت نام
11
00:00:23,760 –> 00:00:31,840
در تجربه یادگیری کامل امروز
12
00:00:32,670 –> 00:00:35,120
[Music]
13
00:00:35,120 –> 00:00:37,680
در ویدیوهای قبلی ذکر کردیم که bash
14
00:00:37,680 –> 00:00:39,120
رایج ترین پوسته مورد استفاده
15
00:00:39,120 –> 00:00:41,760
در لینوکس است bash نه تنها
16
00:00:41,760 –> 00:00:43,440
مترجمی است که دستورات ما را اجرا می
17
00:00:43,440 –> 00:00:46,079
کند، بلکه یک زبان برنامه نویسی است که ما میتوانیم
18
00:00:46,079 –> 00:00:48,000
از bash برای نوشتن اسکریپتهای ساده استفاده کنیم، زمانی که
19
00:00:48,000 –> 00:00:48,719
نیاز به استفاده
20
00:00:48,719 –> 00:00:51,760
از دستورات زیادی داریم، در چند ویدیوی بعدی
21
00:00:51,760 –> 00:00:53,360
یاد میگیریم که چگونه این اسکریپتها را بنویسیم
22
00:00:53,360 –> 00:00:54,879
و چرا مفید هستند،
23
00:00:54,879 –> 00:00:56,399
اجازه دهید با مثالی شروع کنیم که
24
00:00:56,399 –> 00:00:58,000
چرا حتی میخواهید این کار را انجام دهید.
25
00:00:58,000 –> 00:01:00,000
در شغل خود به عنوان یک متخصص I.t،
26
00:01:00,000 –> 00:01:01,760
گاهی اوقات نیاز دارید کامپیوتری را
27
00:01:01,760 –> 00:01:04,080
که به درستی رفتار نمی کند اشکال زدایی
28
00:01:04,080 –> 00:01:05,519
کنید، دستورات زیادی وجود دارد که می تواند به
29
00:01:05,519 –> 00:01:07,360
شما بگوید چه اتفاقی در آنجا می افتد تا به شما کمک کند.
30
00:01:07,360 –> 00:01:09,439
با اشکال زدایی شما،
31
00:01:09,439 –> 00:01:11,840
به عنوان مثال، دستور ps می تواند تمام
32
00:01:11,840 –> 00:01:12,479
33
00:01:12,479 –> 00:01:15,200
فرآیندهای در حال اجرا را فهرست کند، دستور free می تواند
34
00:01:15,200 –> 00:01:17,040
میزان حافظه آزاد را به شما نشان دهد که
35
00:01:17,040 –> 00:01:18,799
دستور uptime می تواند به شما بگوید که کامپیوتر چه مدت روشن
36
00:01:18,799 –> 00:01:20,400
بوده است
37
00:01:20,400 –> 00:01:23,040
و به همین ترتیب هر زمان که نیاز به اشکال زدایی
38
00:01:23,040 –> 00:01:23,920
رایانه ای
39
00:01:23,920 –> 00:01:25,759
دارید ادامه دهید. می تواند به صورت دستی این دستورات را یکی یکی اجرا کند
40
00:01:25,759 –> 00:01:28,000
و به دنبال آن دستورات زیادی
41
00:01:28,000 –> 00:01:30,400
که فکرش را بکنید ممکن است مفید باشد،
42
00:01:30,400 –> 00:01:32,079
اما در حال حاضر توضیح آن خسته کننده به نظر می رسد
43
00:01:32,079 –> 00:01:34,479
چه می شود اگر در عوض
44
00:01:34,479 –> 00:01:36,400
بتوانید یک فرمان را اجرا کنید که می تواند
45
00:01:36,400 –> 00:01:37,840
تمام این اطلاعات
46
00:01:37,840 –> 00:01:40,799
را تنها در یک عکس جمع آوری کند. خوب، من یک
47
00:01:40,799 –> 00:01:42,000
خبر خوب برای شما دارم،
48
00:01:42,000 –> 00:01:44,159
ما می توانیم این کار را با ایجاد یک اسکریپت bash انجام دهیم
49
00:01:44,159 –> 00:01:45,759
که حاوی تمام دستوراتی است که
50
00:01:45,759 –> 00:01:46,720
می خواهیم
51
00:01:46,720 –> 00:01:49,360
یکی پس از دیگری فراخوانی کنیم، بیایید با یک
52
00:01:49,360 –> 00:01:52,880
نسخه ساده از یک اسکریپت مانند
53
00:01:52,880 –> 00:01:54,799
اسکریپتی که در اینجا می بینیم شروع کنیم. در حال فراخوانی
54
00:01:54,799 –> 00:01:56,320
سه دستور اصلی
55
00:01:56,320 –> 00:01:59,280
بدون آپتایم است و کاربرانی که در
56
00:01:59,280 –> 00:02:01,759
حال حاضر وارد رایانه شدهاند
57
00:02:01,759 –> 00:02:03,759
را فهرست میکند و از دستور echo برای چاپ برخی
58
00:02:03,759 –> 00:02:05,759
اطلاعات دیگر و خواناییتر کردن خروجی
59
00:02:05,759 –> 00:02:07,360
استفاده میکند. e با گذاشتن خطوط خالی
60
00:02:07,360 –> 00:02:08,000
61
00:02:08,000 –> 00:02:10,959
بین دستورات، دستور date را نیز فراخوانی می کنیم
62
00:02:10,959 –> 00:02:11,599
63
00:02:11,599 –> 00:02:14,160
تا تاریخ فعلی را برای فراخوانی این دستور چاپ
64
00:02:14,160 –> 00:02:14,800
65
00:02:14,800 –> 00:02:16,319
کنیم، با استفاده از یک نماد خاص با
66
00:02:16,319 –> 00:02:18,000
قرار دادن دستور در داخل
67
00:02:18,000 –> 00:02:21,280
پرانتز علامت دلار، این نشان
68
00:02:21,280 –> 00:02:22,879
می دهد که خروجی دستور باید باشد.
69
00:02:22,879 –> 00:02:23,599
به دستور echo منتقل می
70
00:02:23,599 –> 00:02:25,360
شود و روی صفحه چاپ می شود
71
00:02:25,360 –> 00:02:26,959
72
00:02:26,959 –> 00:02:29,200
اکنون بیایید اسکریپت bash خود را اجرا کنیم و
73
00:02:29,200 –> 00:02:31,920
ببینیم چه اتفاقی می افتد،
74
00:02:33,440 –> 00:02:36,319
اسکریپت ما همانطور که انتظار می رود کار می کند
75
00:02:36,319 –> 00:02:38,000
زمان شروع و
76
00:02:38,000 –> 00:02:39,680
پایان یکسان است زیرا
77
00:02:39,680 –> 00:02:41,519
عملیات های کمی انجام می دهیم که طول می کشد.
78
00:02:41,519 –> 00:02:43,040
کامپیوتر کمتر از یک ثانیه برای تکمیل
79
00:02:43,040 –> 00:02:44,080
آنها
80
00:02:44,080 –> 00:02:46,400
نه خیلی ضعیف است، هنگامی که
81
00:02:46,400 –> 00:02:47,360
عملیات بیشتری را برای جمع آوری
82
00:02:47,360 –> 00:02:49,040
اطلاعات دیگر اضافه می کنیم، ممکن است کمی
83
00:02:49,040 –> 00:02:51,440
بیشتر طول بکشد، بنابراین این یک اسکریپت ساده است
84
00:02:51,440 –> 00:02:52,800
که می توانیم دستورات بیشتر و بیشتری
85
00:02:52,800 –> 00:02:54,640
را به آن اضافه کنیم تا
86
00:02:54,640 –> 00:02:56,080
دستور جمع آوری اطلاعات ما همه چیز را دریافت کند.
87
00:02:56,080 –> 00:02:56,640
88
00:02:56,640 –> 00:02:59,280
89
00:03:00,159 –> 00:03:01,760
اکنون ببینید که اسکریپت در
90
00:03:01,760 –> 00:03:04,640
حال حاضر نوشته شده است، یک دستور در هر خط وجود دارد
91
00:03:04,640 –> 00:03:06,640
که یک روش معمول است، اما
92
00:03:06,640 –> 00:03:08,080
این تنها راهی نیست
93
00:03:08,080 –> 00:03:09,760
که ما همچنین می تواند دستورات را در
94
00:03:09,760 –> 00:03:12,159
همان خط با استفاده از نقطه ویرگول بنویسد تا
95
00:03:12,159 –> 00:03:13,280
آنها را از هم جدا کند.
96
00:03:13,280 –> 00:03:19,840
بیایید ببینیم چه شکلی است
97
00:03:39,120 –> 00:03:41,040
و اکنون بیایید آن را اجرا کنیم تا بررسی کنیم
98
00:03:41,040 –> 00:03:47,840
که همچنان مانند قبل
99
00:03:53,280 –> 00:03:56,319
کار می کند، بله همچنان همانطور که انتظار می رفت کار می کند بسیار خوب
100
00:03:56,319 –> 00:03:58,400
که اولین اسکریپت اسپلش ما بود که
101
00:03:58,400 –> 00:04:00,080
نبود. خیلی بد نیست،
102
00:04:00,080 –> 00:04:01,760
باور کنید یا نه، شما اکنون یاد گرفتید که چگونه
103
00:04:01,760 –> 00:04:03,200
به دو زبان برنامه نویسی مختلف اسکریپت بنویسید.
104
00:04:03,200 –> 00:04:04,400
105
00:04:04,400 –> 00:04:07,439
106
00:04:07,439 –> 00:04:09,360
107
00:04:09,360 –> 00:04:15,230
108
00:04:15,230 –> 00:04:21,040
109
00:04:21,040 –> 00:04:23,280
همانطور که در ویدیوی قبلی گفتیم bash
110
00:04:23,280 –> 00:04:25,440
یک زبان برنامه نویسی کاملاً قدرتمند است
111
00:04:25,440 –> 00:04:27,759
نه فقط راهی برای اجرای دستورات یکی
112
00:04:27,759 –> 00:04:29,280
پس از دیگری،
113
00:04:29,280 –> 00:04:31,199
ما می توانیم متغیرهایی را تعیین کنیم که عملیات شرطی جدید
114
00:04:31,199 –> 00:04:33,199
اجرای حلقه ها
115
00:04:33,199 –> 00:04:35,199
توابع را تعریف می کنند و خیلی چیزهای دیگر
116
00:04:35,199 –> 00:04:37,040
به قدری که ما فقط می توانیم آن را پوشش دهیم.
117
00:04:37,040 –> 00:04:39,840
اصول اولیه در این چند ویدیوی بعدی،
118
00:04:39,840 –> 00:04:42,479
بیایید با متغیرهایی شروع کنیم، مانند
119
00:04:42,479 –> 00:04:43,280
python
120
00:04:43,280 –> 00:04:45,280
bash که به ما اجازه می دهد از متغیرها برای ذخیره و
121
00:04:45,280 –> 00:04:46,880
بازیابی مقادیر
122
00:04:46,880 –> 00:04:48,720
در یک ویدیوی قبلی که به
123
00:04:48,720 –> 00:04:50,639
متغیرهای محیطی نگاه کردیم استفاده
124
00:04:50,639 –> 00:04:52,720
کنیم. se متغیرهایی هستند که
125
00:04:52,720 –> 00:04:54,320
در محیطی که یک دستور در آن
126
00:04:54,320 –> 00:04:55,520
اجرا
127
00:04:55,520 –> 00:04:57,360
می شود تنظیم می شوند، اشاره کردیم که این متغیرها را
128
00:04:57,360 –> 00:04:59,840
با استفاده از علامت مساوی تنظیم می کنیم
129
00:04:59,840 –> 00:05:01,680
و زمانی که می خواهیم به مقدار
130
00:05:01,680 –> 00:05:02,960
یک متغیر در bash دسترسی داشته
131
00:05:02,960 –> 00:05:04,320
باشیم باید نام
132
00:05:04,320 –> 00:05:06,720
متغیر را با پیشوند اضافه کنیم. علامت دلار
133
00:05:06,720 –> 00:05:08,320
در بالای متغیرهای محیطی از پیش تعریف شده،
134
00:05:08,320 –> 00:05:10,080
ما همچنین میتوانیم
135
00:05:10,080 –> 00:05:12,800
متغیرهای خود را برای اسکریپتهایمان تعریف کنیم تا این کار را انجام
136
00:05:12,800 –> 00:05:13,280
137
00:05:13,280 –> 00:05:15,440
دهیم، فقط به
138
00:05:15,440 –> 00:05:18,960
نام متغیری که میخواهیم خوب تعریف کنیم، مقداری اختصاص میدهیم،
139
00:05:23,039 –> 00:05:26,240
اما به بالا نمیتوان فاصلهای
140
00:05:26,240 –> 00:05:27,759
بین نام وجود داشت. از متغیر
141
00:05:27,759 –> 00:05:30,240
و علامت مساوی یا بین علامت مساوی
142
00:05:30,240 –> 00:05:32,000
و مقدار
143
00:05:32,000 –> 00:05:33,759
اگر بخواهیم متغیری را تعریف کنیم و
144
00:05:33,759 –> 00:05:35,680
در یک طرف یا آن طرف فاصله بگذاریم
145
00:05:35,680 –> 00:05:37,120
، پوسته شکایت میکند که
146
00:05:37,120 –> 00:05:38,560
نمیتواند دستوری را با نام
147
00:05:38,560 –> 00:05:41,120
ما پیدا کند. re assigning
148
00:05:43,520 –> 00:05:46,560
my bad همچنین به یاد داشته باشید که هر متغیری
149
00:05:46,560 –> 00:05:47,280
که
150
00:05:47,280 –> 00:05:49,440
در اسکریپت خود یا در خط فرمان تعریف می کنید،
151
00:05:49,440 –> 00:05:50,800
محلی برای محیطی است که در آن
152
00:05:50,800 –> 00:05:51,680
تعریف می کنید،
153
00:05:51,680 –> 00:05:52,960
اگر می خواهید دستوراتی از آن
154
00:05:52,960 –> 00:05:54,800
محیط برای مشاهده متغیر
155
00:05:54,800 –> 00:05:57,199
مورد نیاز شما نیز وجود داشته باشد. آنها را با استفاده از کلمه کلیدی صادرات صادر
156
00:05:57,199 –> 00:05:58,319
157
00:05:58,319 –> 00:06:00,800
کنید خوب، حالا اسکریپت خود را برای
158
00:06:00,800 –> 00:06:03,520
جمع آوری اطلاعات تغییر دهیم و یک متغیر به آن اضافه
159
00:06:03,520 –> 00:06:05,039
کنیم، از آن برای زیباتر جلوه دادن اسکریپت خود استفاده می کنیم
160
00:06:05,039 –> 00:06:07,120
با افزودن خطوط بین هر یک
161
00:06:07,120 –> 00:06:09,680
از دستورات
162
00:06:10,560 –> 00:06:12,400
برای انجام این کار، یک متغیر تعریف می کنیم.
163
00:06:12,400 –> 00:06:14,319
خط خطی نامیده می شود و ما یک سری
164
00:06:14,319 –> 00:06:21,680
خط تیره در آن قرار می دهیم
165
00:06:21,680 –> 00:06:23,680
و اکنون به جای اینکه خطوط خالی
166
00:06:23,680 –> 00:06:24,960
بگذاریم، این متغیر را چاپ می کنیم
167
00:06:24,960 –> 00:06:35,360
تا دستورات خود را جدا کنیم
168
00:06:35,360 –> 00:06:37,440
و حالا بیایید اسکریپت اصلاح شده
169
00:06:37,440 –> 00:06:39,759
را به
170
00:06:47,440 –> 00:06:49,840
طور کامل اجرا کنیم.
171
00:06:49,840 –> 00:06:51,919
متغیر در اسکریپت bash ما
172
00:06:51,919 –> 00:06:53,520
برویم سراغ یکی دیگر
173
00:06:53,520 –> 00:06:55,280
از ویژگیهای جالب موجود در bash به نام
174
00:06:55,280 –> 00:06:58,560
globs.
175
00:06:58,560 –> 00:06:59,199
176
00:06:59,199 –> 00:07:02,319
177
00:07:02,319 –> 00:07:02,720
178
00:07:02,720 –> 00:07:05,520
179
00:07:05,520 –> 00:07:06,800
180
00:07:06,800 –> 00:07:09,599
181
00:07:09,599 –> 00:07:11,520
دنبالهای از نام فایلها را ایجاد کنید که میتوانیم از آنها
182
00:07:11,520 –> 00:07:13,440
به عنوان پارامترهایی برای دستوراتی که در اسکریپتهای خود فراخوانی میکنیم استفاده کنیم،
183
00:07:13,440 –> 00:07:14,960
184
00:07:14,960 –> 00:07:16,720
احتمالاً قبلاً با آنها برخورد کردهاید،
185
00:07:16,720 –> 00:07:18,319
اما اجازه دهید یک خلاصه سریع
186
00:07:18,319 –> 00:07:21,360
از نحوه استفاده از آنها در bash
187
00:07:21,360 –> 00:07:23,199
با استفاده از یک ستاره i انجام دهیم. n خط فرمان
188
00:07:23,199 –> 00:07:24,880
با همه نامهای فایلی مطابقت دارد که از
189
00:07:24,880 –> 00:07:26,800
فرمتی که ما مشخص کردهایم مطابقت دارد،
190
00:07:26,800 –> 00:07:31,840
اجازه دهید چند نمونه را بررسی
191
00:07:32,479 –> 00:07:34,800
کنیم، میتوانیم ببینیم که وقتی ستاره نقطه
192
00:07:34,800 –> 00:07:35,520
pi را مینویسیم
193
00:07:35,520 –> 00:07:37,039
، پوسته آن را به لیستی تبدیل میکند
194
00:07:37,039 –> 00:07:38,800
که شامل همه نامهای فایلهایی است که
195
00:07:38,800 –> 00:07:39,199
196
00:07:39,199 –> 00:07:41,919
به pi ختم میشوند. دایرکتوری فعلی ما همچنین می
197
00:07:41,919 –> 00:07:44,000
توانیم ستاره را در انتهای یک عبارت قرار
198
00:07:44,000 –> 00:07:45,759
دهیم تا لیستی از تمام فایل هایی که با یک پیشوند مشخص شروع می شوند به دست آوریم،
199
00:07:45,759 –> 00:07:48,879
200
00:07:51,680 –> 00:07:53,840
در این حالت تمام فایل های
201
00:07:53,840 –> 00:07:55,280
دایرکتوری فعلی را دریافت می کنیم که با
202
00:07:55,280 –> 00:07:57,280
حرف c شروع
203
00:07:57,280 –> 00:08:00,080
می شوند و همچنین می توانیم از یک استفاده کنیم. ستاره بدون پیشوند یا
204
00:08:00,080 –> 00:08:00,720
پسوندی
205
00:08:00,720 –> 00:08:02,400
که با تمام فایلهای
206
00:08:02,400 –> 00:08:05,199
دایرکتوری فعلی
207
00:08:07,199 –> 00:08:09,360
208
00:08:09,360 –> 00:08:11,120
مطابقت داشته باشد، میتوان از نماد علامت سوال برای تطبیق دقیقاً یک
209
00:08:11,120 –> 00:08:11,840
کاراکتر
210
00:08:11,840 –> 00:08:14,400
به جای هر تعداد کاراکتر استفاده کرد و
211
00:08:14,400 –> 00:08:16,319
میتوانیم آن را هر چند بار که
212
00:08:16,319 –> 00:08:17,520
213
00:08:17,520 –> 00:08:20,080
نیاز داریم تکرار کنیم. دریافت فایل های پایتون
214
00:08:20,080 –> 00:08:21,520
با پنج کاراکتر
215
00:08:21,520 –> 00:08:23,199
به نام آنها با استفاده از پنج
216
00:08:23,199 –> 00:08:27,840
علامت سوال با هم
217
00:08:30,080 –> 00:08:32,000
با استفاده از glob هایی مانند این به ما امکان می دهد
218
00:08:32,000 –> 00:08:34,240
لیستی از فایل هایی ایجاد کنیم که ممکن است
219
00:08:34,240 –> 00:08:36,000
مانند فراخوانی دستورات دیگر و ارسال
220
00:08:36,000 –> 00:08:37,519
t روی آنها کار کنیم. لیست او
221
00:08:37,519 –> 00:08:38,958
اگر میخواهید از این قابلیت در
222
00:08:38,958 –> 00:08:41,200
پایتون استفاده کنید، از طریق ماژول glob در دسترس
223
00:08:41,200 –> 00:08:42,399
224
00:08:42,399 –> 00:08:44,000
است که ممکن است شبیه چیزی باشد که یک بیگانه
225
00:08:44,000 –> 00:08:45,920
ممکن است بگوید، اما در واقع بسیار
226
00:08:45,920 –> 00:08:47,200
قدرتمند است
227
00:08:47,200 –> 00:08:48,959
و البته کارهای بیشتری
228
00:08:48,959 –> 00:08:50,800
میتوانیم با bash scripting
229
00:08:50,800 –> 00:08:52,399
که در ویدیوی بعدی ارائه میشود انجام دهیم. ما در مورد اجرای شرطی صحبت خواهیم کرد
230
00:08:52,399 –> 00:08:55,850
231
00:08:55,850 –> 00:09:04,620
[موسیقی]
232
00:09:04,640 –> 00:09:06,880
یکی از مفاهیم اصلی برنامه نویسی
233
00:09:06,880 –> 00:09:08,000
این است که بتوانیم
234
00:09:08,000 –> 00:09:10,880
اجرا را بر اساس یک شرط انشعاب دهیم
235
00:09:10,880 –> 00:09:11,839
به عبارت دیگر
236
00:09:11,839 –> 00:09:13,760
باعث می شود برنامه ما
237
00:09:13,760 –> 00:09:16,720
بسته به یک یا چند مقدار
238
00:09:16,720 –> 00:09:19,760
در پایتون که از if استفاده می کنیم به روش های مختلف رفتار کند. بلاک
239
00:09:19,760 –> 00:09:21,519
و شرط عبارتی است که
240
00:09:21,519 –> 00:09:23,120
باید
241
00:09:23,120 –> 00:09:25,920
در اسکریپت نویسی دسته ای به درست یا نادرست ارزیابی شود،
242
00:09:25,920 –> 00:09:26,880
شرط استفاده
243
00:09:26,880 –> 00:09:30,160
شده بر اساس وضعیت خروج از دستورات است.
244
00:09:30,160 –> 00:09:31,440
245
00:09:31,440 –> 00:09:32,880
246
00:09:32,880 –> 00:09:34,080
247
00:09:34,080 –> 00:09:36,240
248
00:09:36,240 –> 00:09:37,279
دستور
249
00:09:37,279 –> 00:09:40,240
با استفاده از علامت سوال علامت دلار و
250
00:09:40,240 –> 00:09:42,560
ما فراخوانی کردیم که در اسکریپت bash
251
00:09:42,560 –> 00:09:46,480
مقدار خروجی 0 به معنای موفقیت است
252
00:09:46,480 –> 00:09:49,279
این منطق توسط if opera استفاده می شود. tor در
253
00:09:49,279 –> 00:09:50,240
bash
254
00:09:50,240 –> 00:09:52,160
برای ایجاد یک عبارت شرطی
255
00:09:52,160 –> 00:09:53,519
، دستوری را فراخوانی میکنیم
256
00:09:53,519 –> 00:09:55,360
و اگر وضعیت خروج از آن
257
00:09:55,360 –> 00:09:57,040
دستور صفر باشد، شرط
258
00:09:57,040 –> 00:09:59,279
درست در نظر گرفته میشود، مثلاً میخواهیم
259
00:09:59,279 –> 00:10:00,560
بررسی کنیم که
260
00:10:00,560 –> 00:10:05,519
فایل میزبان و غیره دارای ورودی برای
261
00:10:05,560 –> 00:10:06,800
127.0 باشد. 0.1
262
00:10:06,800 –> 00:10:09,519
که باید بدانیم که grep
263
00:10:09,519 –> 00:10:11,680
وقتی حداقل یک تطابق پیدا کند وضعیت خروج صفر را برمیگرداند و اگر
264
00:10:11,680 –> 00:10:13,519
مطابقتی پیدا
265
00:10:13,519 –> 00:10:15,200
نکرد با صفر متفاوت است،
266
00:10:15,200 –> 00:10:17,440
میتوانیم از آن برای انجام این
267
00:10:17,440 –> 00:10:19,200
268
00:10:19,200 –> 00:10:22,240
تأیید استفاده کنیم. اسکریپت
269
00:10:23,279 –> 00:10:26,640
را بررسی کنید. از بلوک if
270
00:10:26,640 –> 00:10:28,880
ما با کلمه کلیدی if و سپس
271
00:10:28,880 –> 00:10:29,920
دستور grep شروع
272
00:10:29,920 –> 00:10:32,640
می کنیم که از آن برای بررسی موفقیت
273
00:10:32,640 –> 00:10:33,839
در انتهای
274
00:10:33,839 –> 00:10:36,320
275
00:10:36,320 –> 00:10:37,680
276
00:10:37,680 –> 00:10:39,440
277
00:10:39,440 –> 00:10:41,519
دستور استفاده می
278
00:10:41,519 –> 00:10:44,000
کنیم. استفاده از تورفتگی مانند
279
00:10:44,000 –> 00:10:45,920
پایتون، انتخاب سبک خوبی است
280
00:10:45,920 –> 00:10:47,120
و کد را خواناتر می کند،
281
00:10:47,120 –> 00:10:49,680
اما در bash اجباری نیست، می
282
00:10:49,680 –> 00:10:51,519
توان این را در یک خط نوشت
283
00:10:51,519 –> 00:10:53,120
و گاهی اوقات ممکن است زمانی که مقدار کد کم است این کار را انجام دهیم.
284
00:10:53,120 –> 00:10:55,120
285
00:10:55,120 –> 00:10:56,959
به طور کلی خوب است که
286
00:10:56,959 –> 00:10:58,320
دستورات را در خطوط جداگانه داشته باشیم
287
00:10:58,320 –> 00:11:00,320
و از تورفتگی برای نشان دادن واضح
288
00:11:00,320 –> 00:11:02,240
بدنه شرطی استفاده
289
00:11:02,240 –> 00:11:04,160
کنیم، همچنین یک بلوک else برای زمانی که
290
00:11:04,160 –> 00:11:06,480
دستور با موفقیت تمام نمی شود
291
00:11:06,480 –> 00:11:08,160
و در نهایت بلوک شرطی ما
292
00:11:08,160 –> 00:11:10,640
با استفاده از کلمه کلیدی fi به پایان
293
00:11:10,640 –> 00:11:12,320
می رسد داریم. ببینید که چگونه برخی چیزها
294
00:11:12,320 –> 00:11:13,680
مانند پایتون هستند
295
00:11:13,680 –> 00:11:16,399
که از کلمات کلیدی if و else استفاده می
296
00:11:16,399 –> 00:11:17,360
کند و شرایط را بررسی می کند
297
00:11:17,360 –> 00:11:19,120
و اجرا را با توجه
298
00:11:19,120 –> 00:11:21,200
به مقدار شرط منشعب می کند،
299
00:11:21,200 –> 00:11:23,519
اما چیزهای دیگر متفاوت هستند، ما باید
300
00:11:23,519 –> 00:11:25,120
301
00:11:25,120 –> 00:11:26,880
قبل از اینکه بدنه را شروع کنیم، نقطه ویرگول بنویسیم و ما
302
00:11:26,880 –> 00:11:28,240
باید بلوک را با
303
00:11:28,240 –> 00:11:30,560
fi تمام کنیم توجه به این
304
00:11:30,560 –> 00:11:32,240
شباهت ها و تفاوت ها باعث می شود
305
00:11:32,240 –> 00:11:33,839
که شما راحت تر
306
00:11:33,839 –> 00:11:37,040
با زبان های برنامه نویسی جدید آشنا شوید، خوب
307
00:11:37,040 –> 00:11:38,480
بیایید اسکریپت خود را اجرا کنیم و ببینیم اینجا چه کار می
308
00:11:38,480 –> 00:11:42,560
کند، ما می رویم
309
00:11:42,560 –> 00:11:44,720
خط اول در خروجی همان است.
310
00:11:44,720 –> 00:11:46,240
توسط دستور grep ما تولید می شود
311
00:11:46,240 –> 00:11:48,720
زیرا به طور پیش فرض grep خطوطی را چاپ می کند
312
00:11:48,720 –> 00:11:50,240
که با عبارتی مطابقت دارند که
313
00:11:50,240 –> 00:11:51,120
314
00:11:51,120 –> 00:11:52,880
خط دوم را در خروجی به آن می دهیم همان خطی است
315
00:11:52,880 –> 00:11:55,120
که w همانطور که توسط اسکریپت ما تولید می شود،
316
00:11:55,120 –> 00:11:57,839
بنابراین در این مورد دستور grep که
317
00:11:57,839 –> 00:11:58,639
توسط اسکریپت ما فراخوانی
318
00:11:58,639 –> 00:12:00,800
شده است، خط را در فایل پیدا کرده و
319
00:12:00,800 –> 00:12:02,399
با مقدار صفر خارج می شود،
320
00:12:02,399 –> 00:12:04,240
بنابراین اسکریپت ما می گوید که
321
00:12:04,240 –> 00:12:05,680
322
00:12:05,680 –> 00:12:07,760
اگر grep آن خط را پیدا نمی کرد، همه چیز درست بود،
323
00:12:07,760 –> 00:12:09,440
باید با آن خارج می شد. مقداری متفاوت از
324
00:12:09,440 –> 00:12:09,920
0 است
325
00:12:09,920 –> 00:12:11,600
و ما یک پیام متفاوت دریافت میکردیم،
326
00:12:11,600 –> 00:12:13,600
327
00:12:13,600 –> 00:12:14,959
شرایط زیادی وجود دارد که ممکن است بخواهیم
328
00:12:14,959 –> 00:12:16,079
در اسکریپتهایمان بررسی کنیم
329
00:12:16,079 –> 00:12:17,920
که آیا فایلی وجود دارد اگر دو رشته
330
00:12:17,920 –> 00:12:19,600
مساوی هستند اگر یک عدد از عدد دیگری کوچکتر باشد
331
00:12:19,600 –> 00:12:20,079
332
00:12:20,079 –> 00:12:22,399
و غیره برای کمک به ما با ارزیابی
333
00:12:22,399 –> 00:12:23,360
این
334
00:12:23,360 –> 00:12:26,079
شرایط دستوری وجود دارد به نام test test
335
00:12:26,079 –> 00:12:27,760
دستوری است که شرایط دریافتی را ارزیابی می کند
336
00:12:27,760 –> 00:12:28,560
و
337
00:12:28,560 –> 00:12:31,279
در صورت درست بودن با 0 خارج می شود و
338
00:12:31,279 –> 00:12:31,680
339
00:12:31,680 –> 00:12:33,920
در صورت نادرست بودن با 1 خارج می شود، اجازه دهید یک مثال را بررسی کنیم
340
00:12:33,920 –> 00:12:34,800
341
00:12:34,800 –> 00:12:36,560
در این مورد به اندازه کافی کوتاه است که
342
00:12:36,560 –> 00:12:39,839
بتوانیم بنویسیم. همه چیز در یک خط
343
00:12:52,959 –> 00:12:55,279
ما از گزینه dash n برای
344
00:12:55,279 –> 00:12:56,160
دستور تست استفاده می کنیم
345
00:12:56,160 –> 00:12:57,920
که بررسی می کند آیا یک متغیر رشته
346
00:12:57,920 –> 00:12:59,519
خالی است یا نه
347
00:12:59,519 –> 00:13:01,760
در این مورد مسیر خالی نیست، بنابراین
348
00:13:01,760 –> 00:13:02,959
349
00:13:02,959 –> 00:13:05,279
با استفاده از دستور test پیامی را دریافت می کنیم.
350
00:13:05,279 –> 00:13:07,360
روش دیگری برای نوشتن آن بسیار رایج است
351
00:13:07,360 –> 00:13:09,120
که بیشتر شبیه به
352
00:13:09,120 –> 00:13:21,839
زبان های برنامه نویسی دیگر است، چیزی شبیه به این است،
353
00:13:24,959 –> 00:13:27,040
در این مورد دستوری که ما فراخوانی
354
00:13:27,040 –> 00:13:29,519
می کنیم، براکت باز
355
00:13:29,519 –> 00:13:32,160
است، این نام مستعار دستور تست است، اما
356
00:13:32,160 –> 00:13:34,079
برای فراخوانی موفقیت آمیز آن نیز باید
357
00:13:34,079 –> 00:13:36,480
در هنگام استفاده از این نحو، یک براکت مربع بسته را اضافه
358
00:13:36,480 –> 00:13:38,800
کنید به یاد داشته باشید
359
00:13:38,800 –> 00:13:40,079
که قبل از براکت بسته شدن [موسیقی] باید یک فاصله وجود داشته باشد،
360
00:13:40,079 –> 00:13:48,060
361
00:13:48,060 –> 00:13:50,399
362
00:13:50,399 –> 00:13:52,240
بیایید لحظهای وقت بگذاریم تا
363
00:13:52,240 –> 00:13:53,600
همه چیزهایی را که تا کنون در این ماژول آموختهاید خلاصه کنیم.
364
00:13:53,600 –> 00:13:54,720
365
00:13:54,720 –> 00:13:56,160
366
00:13:56,160 –> 00:13:58,079
دستورات رایج لینوکس
367
00:13:58,079 –> 00:14:00,160
که در مورد تغییر مسیر
368
00:14:00,160 –> 00:14:01,519
لوله ها و خطوط لوله جریان
369
00:14:01,519 –> 00:14:04,560
و فرآیندهای سیگنالینگ یاد
370
00:14:04,560 –> 00:14:06,240
گرفتید، سپس اولین طعم
371
00:14:06,240 –> 00:14:08,000
زبان برنامه نویسی bash را از جمله
372
00:14:08,000 –> 00:14:10,240
نحوه ایجاد یک اسکریپت با استفاده از متغیرها و
373
00:14:10,240 –> 00:14:11,279
گلوب ها و
374
00:14:11,279 –> 00:14:14,160
اجرای شرطی انجام دادید که
375
00:14:14,160 –> 00:14:15,680
مفاهیم جالب جدیدی است
376
00:14:15,680 –> 00:14:16,959
که به شما کمک می کند.
377
00:14:16,959 –> 00:14:18,959
از سیستمهایی که با آنها کار میکنید بیشترین بهره را ببرید،
378
00:14:18,959 –> 00:14:21,680
اما ما هنوز تمام نشدهایم، اجازه دهید به
379
00:14:21,680 –> 00:14:23,680
مفاهیم bash پیشرفتهتر بپردازیم. قبل از
380
00:14:23,680 –> 00:14:25,760
اینکه این ماژول را جمع
381
00:14:25,760 –> 00:14:29,040
کنیم آماده هستید خوب اجازه دهید این کار را انجام دهیم،
382
00:14:29,040 –> 00:14:30,959
bash ساختارهای حلقه ای
383
00:14:30,959 –> 00:14:32,800
مشابه پایتون را ارائه می دهد، ما می توانیم
384
00:14:32,800 –> 00:14:34,800
در حالی که یک شرط درست است با استفاده از
385
00:14:34,800 –> 00:14:35,839
حلقه while تکرار کنیم و
386
00:14:35,839 –> 00:14:38,399
روی لیستی از عناصر با استفاده از حلقه for تکرار کنیم،
387
00:14:38,399 –> 00:14:40,000
اگرچه البته نحو برای اینها
388
00:14:40,000 –> 00:14:42,160
حلقهها کمی متفاوت است
389
00:14:42,160 –> 00:14:44,320
زیرا حلقههای یادآوری سریع چیزی هستند
390
00:14:44,320 –> 00:14:46,959
که رایانه را وادار میکند کارهای تکراری را برای ما انجام دهد،
391
00:14:46,959 –> 00:14:48,320
از کار با تعدادی
392
00:14:48,320 –> 00:14:50,240
اعداد گرفته تا پردازش محتوای یک
393
00:14:50,240 –> 00:14:50,720
فایل
394
00:14:50,720 –> 00:14:54,079
خط به خط، رایانهمان اهمیتی نمیدهد
395
00:14:54,079 –> 00:14:54,959
که چند بار
396
00:14:54,959 –> 00:14:57,279
از آن درخواست میکنیم. کاری را که میخواهیم
397
00:14:57,279 –> 00:14:59,120
انجام میدهیم، آنها را تا زمانی که تمام شود ادامه میدهیم،
398
00:14:59,120 –> 00:15:02,000
399
00:15:04,160 –> 00:15:07,839
بنابراین غمانگیز است که بیایید یک حلقه while ساده
400
00:15:07,839 –> 00:15:12,240
در bash
401
00:15:12,240 –> 00:15:14,240
در این اسکریپت بررسی کنیم، ما از متغیر
402
00:15:14,240 –> 00:15:16,000
n برای چاپ پیامهایی استفاده میکنیم که
403
00:15:16,000 –> 00:15:18,560
از یک تا پنج شرط برای while شمارش میکنند.
404
00:15:18,560 –> 00:15:20,720
حلقه از
405
00:15:20,720 –> 00:15:21,760
همان قالب شرط برای
406
00:15:21,760 –> 00:15:24,800
بلوک if در این مثال استفاده می کند، ما بررسی می کنیم که آیا
407
00:15:24,800 –> 00:15:25,360
متغیر
408
00:15:25,360 –> 00:15:28,480
n کمتر یا مساوی 5 است با استفاده از
409
00:15:28,480 –> 00:15:28,959
410
00:15:28,959 –> 00:15:32,000
عملگر dash le، خود حلقه با
411
00:15:32,000 –> 00:15:32,560
412
00:15:32,560 –> 00:15:35,680
کلمه کلیدی do و finis شروع می شود. با یک کلمه کلیدی انجام شده
413
00:15:35,680 –> 00:15:37,920
برای افزایش مقدار متغیر n،
414
00:15:37,920 –> 00:15:39,759
ما از یک ساختار bash
415
00:15:39,759 –> 00:15:41,839
از دو پرانتز استفاده میکنیم که به ما اجازه میدهد
416
00:15:41,839 –> 00:15:44,880
عملیات حسابی را با متغیرهای خود انجام
417
00:15:44,880 –> 00:15:46,800
دهیم، به نظر پیچیده میرسد، اما وقتی یک
418
00:15:46,800 –> 00:15:49,519
قدم به عقب برمیگردید، همه با هم جمع میشوند،
419
00:15:49,519 –> 00:15:55,839
بیایید این را اجرا کنیم و ببینید چه اتفاقی میافتد
420
00:15:59,920 –> 00:16:02,160
خوب است تا کار کند، اما در مورد اینکه
421
00:16:02,160 –> 00:16:04,800
حلقه ما در
422
00:16:04,800 –> 00:16:06,880
هنگام استفاده از حلقههای while و bash grips
423
00:16:06,880 –> 00:16:08,639
کمی جالبتر شود، معمولاً حلقهای وجود دارد
424
00:16:08,639 –> 00:16:10,079
که دستور را چندین بار تکرار میکند
425
00:16:10,079 –> 00:16:13,040
تا زمانی که موفق شود، این واقعاً
426
00:16:13,040 –> 00:16:14,480
با دستوراتی که از شبکه استفاده میکنند مفید است.
427
00:16:14,480 –> 00:16:15,199
اتصالات
428
00:16:15,199 –> 00:16:17,519
یا دسترسی به منابعی که ممکن است قفل شوند،
429
00:16:17,519 –> 00:16:18,720
430
00:16:18,720 –> 00:16:20,560
این دستورات ممکن است به دلایل خارجی با شکست
431
00:16:20,560 –> 00:16:22,320
مواجه شوند و احتمالاً
432
00:16:22,320 –> 00:16:24,959
پس از یک یا دو بار تلاش مجدد برای شبیه سازی
433
00:16:24,959 –> 00:16:26,800
دستوری که گاهی موفق یا
434
00:16:26,800 –> 00:16:27,839
گاهی اوقات ناموفق است، موفق
435
00:16:27,839 –> 00:16:29,920
خواهند شد
436
00:16:29,920 –> 00:16:32,000
. به