Yangi boshlanuvchilar uchun qo'llanma BASH - Kirish parametrlariga

Boshlanuvchilar qo'llanmasining 2-qismiga xush kelibsiz. Bu BASH seriyasiga noyobdir, bu yangi boshlanuvchilar uchun yangi boshlovchi tomonidan yozilgan yagona BASH tutoriali.

Ushbu qo'llanmaning o'quvchilari mening bilimlarimni qurishda o'z bilimlarini mustahkamlaydi va umid qilamanki, barchamizni juda aqlli buyruqlarni yozish imkoniyatiga ega bo'lamiz.

O'tgan haftada "Salom Dunyo" so'zini ko'rsatadigan dastlabki skriptni yaratdim. Matn muharrirlari, terminallar oynasini ochish, skriptlarni joylashtirish, "Salom Dunyo" so'zlarini qanday ko'rsatish kerakligi va tirnoq ("") kabi qochish belgilarida ba'zi nozik fikrlarni o'z ichiga olgan mavzularni o'z ichiga oladi.

Bu hafta men asosiy parametrlarni qamrab olaman. Bu kabi narsalarni o'rgatadigan boshqa yo'l-yo'riqlar bor, lekin ular juda past darajadagi narsalarga sakrashni va juda ko'p ma'lumotni berilishini bilib oldim.

Parametr nima?

Oxirgi o'quvchidan olingan "Salom Dunyo" ssenariyasida hammasi juda statik edi. Skript, albatta, juda ko'p narsa qilmadi.

"Salom Dunyoda" ssenariyasida qanday qilib yaxshilashimiz mumkin?

Unga ishlaydigan odamni kutib turgan skript haqida nima deyish mumkin? "Salom Dunyo" so'zini aytish o'rniga "Salom", "Salom" yoki "Salom Dolly" deb nomlanadi.

Kirish parametrlarini qabul qilmasdan, biz uchta "hellogary.sh", "hellotim.sh" va "hellodolly.sh" buyruqlarini yozishimiz kerak.

Buyruqlar parametrlarini o'qish parametrlarini o'qishga ruxsat berish orqali biz har kimni salomlash uchun bir buyruq fayliidan foydalanishimiz mumkin.

Buni amalga oshirish uchun terminal oynasini oching (CTRL + ALT + T) va siz yozgan skriptlar papkasida quyidagilarni yozing: ( CD buyrug'i haqida )

CD buyruqlari

Greetme.sh nomli yangi skriptni yozing: ( touch buyrug'i haqida )

tegmang greetme.sh

Sizning sevimli tahrirchingizda skriptni quyidagicha yozishni oching: ( nano-buyruq haqida )

nano-greetme.sh

Nano ichida quyidagi matnni kiriting:

#! / bin / bash echo "salom $ @"

Faylni saqlash uchun CTRL va O ni bosing va faylni yopish uchun CTRL va X tugmalarini bosing.

Buyruqni ishlatish uchun sizning ismingiz bilan almashtirilgan buyruq qatoriga quyidagilarni kiriting.

sh greetme.sh

Men skriptni ismim bilan ishlatsam, u "Salom Gari" so'zini aks ettiradi.

Birinchi satrda #! / Bin / bosh satri mavjud, u faylni bosh skript sifatida aniqlash uchun ishlatiladi.

Ikkinchi satrda "salom" so'zini aks ettirish uchun echo iborasi ishlatiladi va keyin g'alati $ @ belgisi mavjud. ( echo buyrug'i haqida )

$ @ Buyruqning nomi bilan birga kiritilgan har bir parametrni ko'rsatish uchun kengayadi. Agar "sh greetme.sh tim" ni yozsangiz, "salom" yozuvlari ko'rsatiladi. Agar siz "greetme.sh tim smith" ni yozsangiz, "salom taymer" so'zlari ko'rsatiladi.

Greetme.sh buyrug'iga faqat birinchi ismdan foydalanibgina salom aytishi mumkin. Hech kim menga "Menga salom" deb javob berishi mumkin.

Ssenariyni faqat birinchi parametrni ishlatish uchun o'zgartiraylik. Greetme.sh skriptini quyidagicha yozish bilan nano-da oching:

nano-greetme.sh

Buyruq faylini quyidagicha o'qib chiqing:

#! / bin / bash echo "salom $ 1"

CTRL va O ni bosib skript yozib oling va keyin CTRL va X tugmalarini bosib chiqing.

Skriptni quyida ko'rsatilgan tarzda boshqaring (ismimni o'zimga almashtir):

sh greetme.sh

Skriptni ishga tushirganingizda, u faqat "salom" (yoki umid qilamanki "salom" va nima bo'lishidan qat'i nazar) deb aytiladi.

$ Ramzidan keyin 1 asosan echo buyrug'iga aytiladi, birinchi parametrdan foydalaning. Agar siz $ 1 $ 2 bilan almashtirsangiz, u "salom newell" (yoki familiyangiz nima bo'lishidan qat'i nazar) ko'rsatiladi.

Aytgandek, $ 2 ni $ 3 bilan almashtirsangiz va skriptni faqat 2 parametr bilan yursangiz, chiqim oddiygina "Salom" edi.

Amalga kiritilgan parametrlarning sonini va keyinroq o'qituvchilar parametrlarini qanday qilib ishlatilishini ko'rsatib beraman.

Kiritilgan parametrlarni ko'rsatish uchun greetme.sh skriptini (nano greetme.sh) oching va matnni quyidagicha o'zgartiring:

#! / bin / bash echo "siz $ # nomini kiritdingiz" echo "salom $ @"

CTRL va O ni bosib, skanerni saqlab qo'yish uchun CTRL va X ni nanodan chiqish uchun.

2-qatordagi $ # kiritilgan parametrlarning sonini ko'rsatadi.

Shunday qilib, bularning hammasi roman, ammo juda foydali emas. "Salom" ni ko'rsatadigan skriptga kim kerak?

Eshittirishlar uchun haqiqiy foydalanish foydalanuvchi uchun batafsil va mazmunli chiqdi berishdir. Agar siz ba'zi bir jiddiy raqamlar va fayllarni / jildlarni manipulyatsiya qilishni o'z ichiga olgan murakkab ishlarni qilishni xohlasangiz, foydalanuvchi har bir qadamda nima sodir bo'lishini ko'rsatish uchun foydalidir.

Aksincha, kirish parametrlari skriptingizni interaktiv qiladi. Kirish parametrlarini kiritmasdan, juda o'xshash narsalarni qiladigan, biroz farqli nomlar bilan o'nlab skriptga ehtiyoj seziladi.

Bularning barchasi bilan tanishish yaxshi biladi va men ularning barchasini bitta kod parchasiga kiritadigan boshqa foydali parametrlar mavjud.

Greetme.sh skriptingizni oching va uni quyidagicha tahrirlang:

#! / bin / bash echo "Fayl nomi: $ 0" echo "Process ID: $$" echo "---------------------------- --- "echo" $ # nomini kiritdingiz "echo" salom $ @ "

Faylni saqlash uchun CTRL va O ni bosing va CTRL va X tugmalarini bosamiz.

Endi skriptni ishga tushiring (ismingizni o'zgartiring).

sh greetme.sh

Bu safar skript quyidagilarni aks ettiradi:

Fayl nomi: greetme.sh Jarayon ID raqami: 18595 ------------------------------ Siz 2 nom kiritdingiz.

Skriptning birinchi qatoridagi 0 $ siz ishlayotgan skript nomini ko'rsatadi. E'tibor bering, bu dollar emas, balki dollar.

Ikkinchi satrda joylashgan $$ sizning ishlaydigan skriptning jurnali kimligini ko'rsatadi. Nima uchun bu foydali? Agar oldingi rejada skriptni ishlatayotgan bo'lsangiz, buni CTRL va S tugmasini bosish orqali bekor qilishingiz mumkin. Agar skriptni orqa fonda ishga tushirgan bo'lsangiz va looplashni boshlagan bo'lsangiz, xuddi shu narsani qayta-qayta bajarishingiz yoki tizimingizga zarar yetkaza boshlagan bo'lsangiz, sizga kerak bo'ladi uni o'ldirish uchun.

Orqa fonda ishlaydigan buyruqni o'ldirish uchun skriptning jarayon kimligi kerak. Buyruqlar jarayonning identifikatori o'z chiqimining bir qismi sifatida berilgan bo'lsa yaxshi bo'lardi. ( PS haqida va buyruqlarni o'ldirish )

Nihoyat, men bu mavzu bilan tugatishimdan oldin, men chiqadigan joyning qayerdaligini muhokama qilmoqchi edim. Skript hozirgi kunga qadar ishga tushirilsa, ekranda chiqish ko'rsatiladi.

Buyruq fayli chiqishi chiqdi fayliga yozish uchun juda keng tarqalgan. Buning uchun skriptingizni quyidagicha bajaring:

sh greetme.sh gary> greetme.log

Yuqoridagi buyruqdagi belgining belgisi greetme.log deb nomlangan faylga "salom qutisi" matnini beradi.

Skriptni> belgisi bilan ishlatganingizda, u chiqdi faylining tarkibini yozadi. Agar siz faylga qo'shilishni xohlasangiz> bilan >> ni o'zgartiring.

Xulosa

Endi siz ekranni matnga yozishingiz va kirish parametrlarini qabul qilishingiz kerak.