BASH-ийн эхлэл гарын авлага - Оруулах параметрүүд

BASH цувралын эхлэлийн гарын авлагын 2-р хэсэгт тавтай морилно уу. Энэ нь зөвхөн эхлэгчдэд зориулж бичсэн цорын ганц BASH заавар юм.

Энэхүү гарын авлагыг уншигчид маань мэдлэгээ нэмэгдүүлж, мэдлэгээ өсгөх болно. Ингэснээр бид зарим нэг нэлээн ухаалаг скрипт бичиж чадна гэж найдаж байна.

Өнгөрсөн долоо хоногт би "Hello World" гэсэн үгсийг харуулсан эхний скриптийг үүсгэсэн. Энэ нь текст засварлагч, терминалын цонх хэрхэн нээх, хаана скриптүүдээ байрлуулах, "Hello World" гэсэн үгнүүд болон зарим зуйлс ("") зэрэг зугтах тэмдэгтууд дээр хэрхэн нэлээд нарийн харагдах зэрэг сэдвүүдийг хамардаг.

Энэ долоо хоногт би оролтын параметрүүдийг тайлбарлах болно. Иймэрхүү зүйлийг зааж өгдөг бусад хөтөч байдаг ч зарим талаараа маш бага түвшний зүйлс рүү үсрэн орж, магадгүй хэтэрхий их мэдээлэл өгөхийг би олж мэдсэн.

Үзүүлэлт гэж юу вэ?

Сүүлийн хичээлээс "Hello World" скриптэд энэ бүхэн маш статик байсан. Скрипт үнэхээр огтхон ч хийдэггүй юм.

"Hello World" скриптийг хэрхэн сайжруулах вэ?

Үүнийг удирддаг хүнийг мэндчилэх скрипт юу вэ? "Hello World" гэж хэлэхийн оронд "Hello Gary", "Hello Tim" эсвэл "Hello Dolly" гэж хэлнэ.

Оролтын параметрийг хүлээн авах чадваргүй бол бид "hellogary.sh", "hellotim.sh", "hellodolly.sh" гэсэн гурван скриптийг бичих хэрэгтэй болно.

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

Үүнийг хийхийн тулд терминал цонхыг (CTRL + ALT + T) нээгээд дараах зүйлийг бичин скрипт хавтасруугаа шилжинэ үү. ( Cd тушаалын тухай )

cd скриптүүд

Дараахийг бичин greetme.sh нэртэй шинэ скрипт үүсгэх хэрэгтэй ( touch командын тухай )

мэндчилгээг аваарай

Дараахийг бичин дуртай засварлагчаа скриптийг нээ. ( Nano тушаалын талаар )

nano greetme.sh

Дараах текстийг нано дотор оруулна уу:

#! / bin / bash echo "Сайн уу @ @"

Файлыг CTRL ба O дарж, CTRL болон X файлыг хаах хэрэгтэй.

Скриптийг ажиллуулахын тулд дараах тушаалыг өөрийн нэрээр солих хэрэгтэй.

sh greetme.sh

Хэрэв би өөрийн нэрээр скриптийг ажиллуулбал "Hello Gary" гэсэн үгсийг харуулна.

Эхний мөр нь bash скрипт байдлаар файлыг тодорхойлохын тулд #! / Bin / bash мөртэй байна.

Хоёрдахь мөр нь цуурай мэдэгдэлийг ашиглан үгсийг давтаж, дараа нь $ @ тэмдэглэгээ хачин байдаг. ( цуурай тушаалын талаар )

$ @ Нь скриптийн нэртэй хамт оруулсан параметр бүрийг харуулахаар өргөжүүлнэ. Хэрвээ та "мэндэлсний мэнд хүргэе" гэж бичсэн бол "hello tim" гэсэн үгс гарч ирнэ. Хэрэв та "greetme.sh tim smith" гэж бичсэн бол "hello tim smith" гэсэн үгс гарч ирнэ.

Мэйдмэй.sh скриптийг сайн хэлээрэй гэж хэлээрэй. Надтай уулзах үед "hello newellell" хэн ч "hello gary" гэж хэлж болох юм.

Эхний параметрийг ашиглахын тулд скриптийг өөрчлөх хэрэгтэй. Нано дахь greetme.sh скриптийг дараах байдлаар бичиж нээнэ үү:

nano greetme.sh

Скриптийг дараах байдлаар уншуулахын тулд өөрчилнө үү:

#! / bin / bash echo "Сайн уу" $ 1

Скриптийг CTRL ба O товч дараад CTRL болон X дарснаар гарах.

Доор үзүүлсэн шиг скриптийг ажиллуул (миний нэрийг өөрийн нэрээр солих):

sh greetme.sh gary newell

Скриптийг ажиллуулахад энэ нь "hello gary" (эсвэл найдвартай "сайн уу" гэсэн үгс эсвэл нэр чинь юу ч байх болно гэсэн үг юм.

$ Тэмдэг нь үндсэндээ echo тушаалыг өгсний дараа эхний параметрийг ашиглана. Хэрэв $ 1-ийг $ 2-оор солих юм бол "hello newell" (эсвэл овог нэрээ оруулна) харуулна.

Хэрэв та 2 $ $ -ийг $ 3-оор орлуулж скриптийг зөвхөн 2 параметрийн хамт ажиллуулбал гарц нь зүгээр л "Сайн байна уу".

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

Параметрүүдийн тоог харуулахын тулд мэндчилгээний мэндчилгээг нээж, мессежид дараах байдлаар нэмээрэй:

#! / bin / bash echo "та $ # нэрс оруулсан" echo "Сайн уу @ @"

CTRL ба O товчлуурыг дарж, CTRL ба X-г нано гаргана.

Хоёр дахь мөрөнд # $ нь оруулсан параметрийн тоог харуулна.

Энэ бүхэн бүгд шинэчлэгдэж байсан боловч тийм ч ач холбогдолтой биш юм. Зөвхөн "сайн уу" гэсэн скриптийг хэн хэрэгтэй вэ?

Echo мэдэгдлийн жинхэнэ хэрэглээ нь хэрэглэгчид шууд утга болон гарцыг өгөх явдал юм. Хэрэв та зарим нэг ноцтой тооны crunching болон файлын / фолдерын аргыг оролцуулаад ямар нэг төвөгтэй зүйл хийхийг хүсч байгаа бол төсөлд оролцогч бүрийн хувьд юу болж байгааг харуулах нь ашигтай байх болно.

Харин эсрэгээр, оролтын параметрүүд нь таны скрипт харилцан үйлдлийг хийдэг Оролтын параметргүй бол олон тооны скриптүүд бүгд ижил төстэй зүйлүүдийг хийх боловч бага зэрэг өөр нэртэй байх болно.

Үүнийг бүхэлд нь санах хэрэгтэй зарим оролтын параметрүүд нь мэдэх сайн санаа бөгөөд тэдгээрийг бүгдийг нь нэг кодын хэсэг болгон оруулах болно.

Өөрийн мэндчилгээний скриптийг нээгээд дараах байдлаар засварлана уу:

#! / bin / bash echo "Файлын нэр: $ 0" echo "Процесс ID: $$" echo "---------------------------- --- "echo" $ # гэсэн нэрийг оруулсан "echo" Сайн уу $ @ "

Файл, CTRL, X-г гарахын тулд CTRL ба O дарна уу.

Одоо скриптийг ажиллуул (нэрээр солих).

sh greetme.sh

Энэ удаад скрипт дараахийг харуулав:

Файлын нэр: greetme.sh Процесс ID: 18595 ------------------------------ Та 2 нэрийг оруулсан байна

Скриптийн эхний мөрөнд 0 $ таны скриптийн нэрийг харуулна. Доллар биш доллар биш гэдгийг анхаарна уу.

Хоёр дахь мөрөнд $$ нь таны ажиллаж байгаа скриптийн id процессыг харуулна. Яагаад энэ нь ашигтай вэ? Хэрэв та нүүрэн дээр нь скрипт ажиллуулж байгаа бол CTRL ба C дарж зүгээр л үүнийг цуцалж болно. Хэрэв та скриптийг ажиллуулаад дараа нь давтаж эхлээд ижил зүйлийг хийж байгаа эсвэл таны системд хохирол учруулж эхэлдэг түүнийг алах.

Скриптийн үйл явцын ID хэрэгтэй байгаа бол ард нь ажиллаж байгаа скриптийг устгахын тулд. Хэрэв скрипт нь процессийн id нь түүний гаралтын нэг хэсэг болж өгвөл сайн биш байх болов уу. ( ps болон kill тушаалуудын талаар )

Эцэст нь би энэ сэдвийг дуусгахаасаа өмнө гаралт хаана байгааг ярихыг хүссэн. Скрипт ажиллаж байх бүрт дэлгэц дээр гаралт харуулагдана.

Скриптийг гаралтын файлд бичих нь элбэг байдаг. Үүнийг хийхийн тулд скриптийг дараах байдлаар ажиллуулна:

sh greetme.sh gary> greetme.log

Дээрх комманд нь "hello gary" текстийг greetme.log гэж нэрлэдэг.

Скриптийг> тэмдэг болгон ажиллуулах бүр гаралтын файлыг дарж бичих болно. Хэрэв та файлаа хавсаргахыг илүүд үздэг бол> >> ашиглана.

Хураангуй

Та дэлгэц дээр текст бичих, оролтын параметрийг хүлээн авах боломжтой байх ёстой.