"Bo'sh" yozuvini qanday yozish kerak?

Qanday qilib "shekilli" skriptlaridagi "bosh" formasini ishlatish kerak?

BASH (Bourne Again Shell uchun ishlatiladigan) - Linux va UNIX asosidagi operatsion tizimlarning aksariyati tomonidan ishlatiladigan skript tilidir.

BASH buyruqlarini terminal oynasida boshqasidan keyin bajarishingiz yoki qobiq skriptini yaratish uchun buyruqlar matnli faylga qo'shishingiz mumkin.

Qobiq skriptlarini yozish borasida juda katta narsa siz ularni qayta-qayta ishlatishingiz. Misol uchun, siz tizimga foydalanuvchini qo'shishingiz, ularning ruxsatini o'rnatishingiz va boshlang'ich muhitini boshqarishingiz kerakligini tasavvur qiling. Bir qog'ozga buyruqlar yozishingiz va yangi foydalanuvchilar qo'shsangiz, ularni ishga tushirishingiz yoki bitta buyruq faylini yozishingiz va parametrlarni o'sha skriptga kiritishingiz mumkin.

BASH kabi skriptlash tillari boshqa tillar kabi dasturiy tuzilishlarga ega. Misol uchun, import parametrlarini klaviaturadan kirishni va o'zgaruvchilar sifatida saqlash uchun ishlatishingiz mumkin. So'ngra skriptni kirish parametrlari qiymatiga qarab ma'lum bir amalni bajarish uchun olishingiz mumkin.

Har qanday dasturiy va skript tilining asosiy qismi bir xil kodni qayta ishlashga qodir.

Kodni takrorlashning bir qator usullari mavjud (ular loops sifatida ham tanilgan). Ushbu qo'llanmada "for" formasini qanday yozishni ko'rsatasiz.

A uchun loop kodning muayyan qismini qayta-qayta takrorlaydi. Bir qator buyruqlar ma'lum shartlarga rioya qilinmaguncha ishlashni davom ettirishi uchun foydalidir, ular to'xtaydi.

Ushbu qo'llanmada siz BASH skripti ichida for loopdan foydalanishning beshta usuli ko'rsatiladi.

Ishga kirishishdan oldin

Loop misollari bilan ishlashni boshlashdan oldin, siz terminal oynasini ochib, quyidagi bosqichlarni bajaring:

  1. Mkdir skriptlarini kiriting ( bu erda mkdir haqida ko'proq bilib oling )
  2. CD-buyruq fayllarini kiriting (bu katalogni skriptlarga o'zgartiradi )
  3. Nano examplen.sh ni kiriting (bu yerda siz ishlayotgan misol n )
  4. Skriptni kiriting
  5. Chertish uchun CTRL + O tugmachalarini bosing va CTRL + X tugmachasini bosing
  6. Bash examplen.sh-ni ishga tushiring (yana siz n bilan birga ishlayotgan misol bilan)

Ro'yxat orqali qanday qilib ko'chiriladi

#! / Bin / bash
raqam uchun 1 2 3 4 5
qilish
echo $ raqami
bajarildi
chiqish 0

"For" formasini ishlatishning BASH usuli boshqa dasturiy va dasturlash tillari uchun "for" looplarini boshqaradigan tarzda biroz farq qiladi. Keling, skriptni pasaytiramiz ...

BASH "for" loop hammasi ichida, bajariladigan ishlar bilan tuzilgan so'zlar ro'yxatdagi har bir maqola uchun bir marta amalga oshiriladi.

Yuqoridagi misolda, ro'yxat so'zdan keyin keladigan hamma narsa (ya'ni 1 2 3 4 5).

Har bir loop yineleyerek, ro'yxatdagi keyingi qiymat "for" so'zidan keyin belgilangan o'zgarmaydiganga kiritiladi. Yuqoridagi loopda o'zgarmaydigan raqam deb nomlanadi.

Eko iborasi ekranga ma'lumot ko'rsatish uchun ishlatiladi.

Shuning uchun, bu misol 1 dan 5 gacha raqamlarni oladi va ularni birma-bir ekranga chiqaradi:

Boshlanish va tugash nuqtasi orasidagi zaiflashtirish

Yuqoridagi misol bilan bog'liq muammolar, agar siz ko'proq ro'yxatni (masalan, 1 dan 500 gacha) qayta ishlashni istasangiz, birinchi navbatda barcha raqamlarni yozish uchun yoshlar talab etiladi.

Bu bizni boshlang'ich va oxirgi nuqtani qanday belgilashni ko'rsatadigan ikkinchi misolga olib keladi:

#! / Bin / bash
{1..10} da raqamlar uchun
qilish
echo "$ number"
bajarildi
chiqish 0

Qoida asosan bir xil. " In" so'zidan keyin keladigan qiymatlar ro'yxatga kiritiladi va ro'yxatdagi har bir qiymat o'zgarmaydiganga (ya'ni raqamga) joylashtiriladi va loopning qaytishi har safar amalga oshiriladi va amalga oshiriladi.

Asosiy farq - ro'yxatning shakllanishi. Buruq kvadratchalar {} asosda intervalni anglatadi va bu holda intervalli 1 dan 10 gacha (ikkita nuqta oraliqning boshlanishi va oxirini ajratib turadi).

Shuning uchun bu misol 1 va 10 gacha bo'lgan har bir sonda ishlaydi va ekranga quyidagi raqamni chiqaradi:

Xuddi shu loop, xuddi shu tarzda yozilgan bo'lib, birinchi misol uchun sintaksisi bilan bir xil:

raqam uchun 1 2 3 4 5 6 7 8 9 10

Raqamlarni raqam oralig'ida qanday yuborish mumkin

Avvalgi misol, boshlang'ich va oxirgi nuqtalar orasidagi intervalni qanday qilib ko'rsatishini ko'rsatdi, shuning uchun biz raqamlarni raqam oralig'ida qanday o'tkazishni ko'rib chiqamiz.

Tasavvur qiling, 0 dan 100 gacha cheklashni xohlaysiz, lekin har o'ninchi raqamni ko'rsatasiz. Quyidagi skript shu tarzda bajarilishini ko'rsatadi:

#! / Bin / bash
{0..100..10} da raqamlar uchun
qilish
echo "$ number"
bajarildi
chiqish 0

Qoida asosan bir xil. Ro'yxat, o'zgaruvchi va bajariladigan ishlar bilan bir qatorda bir qator bayonotlar mavjud. Ro'yxat bu safar quyidagicha ko'rinadi: {0..100..10}.

Birinchi raqam 0 va oxirgi raqam esa 100 ni tashkil qiladi. Uchinchi raqam (10) - bu ro'yxatda qoldiriladigan elementlarning soni.

Yuqoridagi misol, shuning uchun quyidagi chiqimni ko'rsatadi:

Loop uchun ko'proq an'anaviy qidirish

Loops uchun yozishning BASH usuli boshqa dasturlash tillariga nisbatan ancha g'alati.

Shunga o'xshash C dasturlash tiliga o'xshash uslubda for loopini quyidagi kabi yozishingiz mumkin:

#! / Bin / bash
((raqam = 1; raqam <100; raqam ++))
{
agar (($ number% 5 == 0))
keyin
echo "$ raqam 5 ga bo'linadi"
fi
}
chiqish 0

Loop o'zgarmaydigan raqamni 1 ga (son = 1 ) o'rnatish orqali boshlanadi. Bir raqamning qiymati 100 dan kam bo'lsa ( raqam <100 ). Har bir iteratsiya ( son ++ ) dan so'ng unga qo'shib sonning qiymati o'zgaradi.

Jingalak qavslar orasidagi har bir narsa pastadirning har bir iteratsiyasi orqali amalga oshiriladi.

Qavslar orasidagi bitlar raqamning qiymatini tekshiradi, 5ni ajratadi va qoldiqni 0 ga tenglashtiradi. Qolgan 0 bo'lsa, raqam 5 ga bo'linadi va keyin ekranda ko'rsatiladi.

Masalan:

Yinelemenin qadamini o'zgartirmoqchi bo'lsangiz, ++ qismini = number = number + 2 , number = number + 5 , or number = number + 10 va hokazo. Sifatida o'zgartirishingiz mumkin.

Bu sonni + = 2 yoki raqam + = 5 ga qisqartirish mumkin.

Amaliy misol

Ilovalar raqamlar ro'yxatini takrorlashdan ko'ra ko'proq narsani amalga oshirishi mumkin. Siz, aslida, boshqa buyruqlar chiqishini ro'yxat sifatida foydalanishingiz mumkin.

Quyidagi misolda audio fayllarni MP3dan WAVga qanday qilib aylantirish mumkinligi ko'rsatilgan:

#! / Bin / bash

Ushbu misoldagi ro'yxat, mavjud papkada .MP3 kengaytmasi bo'lgan har bir fayl va o'zgaruvchi fayl .

Mpg buyrug'i MP3 faylini WAVga o'zgartiradi. Shu bilan birga, ehtimol paketni menejeridan foydalanib uni o'rnatishingiz kerak bo'ladi.