Bash Scripts-ийг ашиглан хэрхэн яаж ажиллуулахыг сурах

Үндсэн дээр зэрэгцүүлэлтүүдийг ажиллуулах зааварчилгаа

Бүрхүүл нь Линукс систем дээрх командуудыг оруулах үндсэн интерфэйс юм. Үүнтэй хамт тушаалыг шууд оруулаарай эсвэл гүйцэтгэх тушаалуудын дарааллыг агуулсан файл (скрипт) зааж өгч болно. Чонслуудыг шаталсан байдлаар зохион байгуулдаг бөгөөд ямар ч бүрхүүл шинэ бүрхүүл үүсгэж болно. Шинэ бүрхүүл нь хүүхдийн процесс юм.

Анхдагчаар, дэд модуль нь эцэг эхийн үйл ажиллагаа дуусч байгаа тохиолдолд дэд модел нь мөн дуусгавар болсон тохиолдолд эцэг эхээс хамаарна. Ямар ч гаралт нь дэд хэвлэгээс эх бүрхүүл рүү шилждэг.

Дэд бүтээх талаар

Баш бүрхүүлийн скрипт дээр та хаалтанд ашиглан тэмдэглэгээг үүсгэнэ:

#! / bin / bash echo "Дэд бүрхүүлийн эхлэхээс өмнө" (count = 1 байхад [$ count -le 99] "$ count" унтах 1 ((count ++)

Жишээ нь, гогцоо нь хаалтанд хаалттай, энэ нь түүнийг скрипт файл ажиллаж байгаа бүрхүүлийн доод хэсэгт хийж гүйцэтгэдэг.

Дэвсгэр дэх subshell ажиллуулах

Хэрэв та драйверийг ар талд нь ажиллуулахыг зааж өгөөгүй бол толгойн бүрхүүл нь скриптийг үлдээхээс өмнө дуусгахыг хүлээнэ. Гэхдээ дэд модыг зэрэгцүүлэн ажиллуулахыг хүсэж байгаа бол та тэдгээрийг арын дэвсгэр дээр ажиллуулахыг хүсвэл доор үзүүлсэн шиг ampersand тэмдэгтээр хийгддэг:

#! / bin / bash echo "Дэд бүрхүүлийн эхлэхээс өмнө" (count = 1 байхад [$ count -le 99] "$ count" унтах 1 ((count ++)

Олон давхар ёроолыг зэрэгцүүлэн ажиллуулах

Хэрэв та үндсэн дэд процессуудтай олон дэд хэсгүүдийг үүсгэж байгаа бол даалгавруудыг зэрэгцүүлэн ажиллуулж болно. Ерөнхийдөө үйлдлийн систем процесс болон дэд процесс бүрт ялгаатай процессор эсвэл цөмийг ашигладаг бөгөөд процессууд байдаг тул наад зах нь процессор эсвэл цөм байх ёстой гэж үздэг. Үгүй бол үүрэг даалгаврыг гүйцэтгэдэг. Энэ тохиолдолд процессор буюу гол үүрэг даалгаврын гүйцэтгэлийг дуустал гүйцэтгэсэн даалгаврын хооронд тасралтгүй шилждэг. Дараагийн жишээнд хоёр дэд процесс байна. Эхнийх нь 1-ээс 99, харин хоёрдахь нь 1000-аас 1099 хүртэл тоологдоно.

#! / bin / bash echo "Дэд бүрхүүлийн эхлэхээс өмнө" (count = 1 байхад [$ count -le 99] "$ count" sleep 1 ((count ++) 1099] "$ count" sleep 1 ((count ++)) давтаж хийх && echo "Finished"

Эцэг процессыг скриптийг үлдээхээсээ өмнө дуусгах дэд процессуудыг хүлээхийг хүлээх мэдэгдлийг ашиглаарай:

#! / bin / bash echo "Дэд бүрхүүлийн эхлэхээс өмнө" (count = 1 байхад [$ count -le 99] "$ count" sleep 1 ((count ++) 1099] "$ count" sleep 1 ((count ++)) давтаж хийж байна "& finish echo" Finished "

Дэд бүрхүүлийн хэрэглээ

Захиалга нь тодорхой орчинд эсвэл директор дотор гүйцэтгэгдэх шаардлагатай үед дэд б тл д ашигтай байдаг. Хэрэв тушаал бүр өөр дэд хэв маягаар гүйцэтгэгдвэл хувьсагч тохиргоонууд холилдох эрсдэлгүй болно. Эцэст нь процессын ямар ч процессод нөлөөлөхгүй тул тохиргоо болон одоогийн лавлахыг дахин сэргээх шаардлагагүй болно.

Үүсвэрийг функцын тодорхойлолтод ашиглаж болох бөгөөд ингэснээр тэдгээрийг өөр өөр параметрүүдээр олон удаа гүйцэтгэж болно.