Linux Shell we Shell Scripting diliniň esasy maslahatlaryna düşüniň - I bölüm


Surat sözlerden has köp gürleýär we aşakdaky suratda Linux-yň işleýşi barada aýdylýar.

  1. Gabyk programmirlemesini öwrenmek üçin 5 sany gabyk skripti - II bölüm
  2. Linux BASH skriptiniň dünýäsinde ýüzmek - III bölüm

Linux gabygyna düşünmek

  1. Shell: Ulanyjyny Operasiýa ulgamyna birikdirýän we buýruklary ýerine ýetirmäge ýa-da tekst skriptini döretmäge mümkinçilik berýän buýruk setiri terjimeçisi.
  2. Amal: Ulanyjynyň ulgamda işleýän islendik işine proses diýilýär. Amal diňe bir ýumuşdan has çylşyrymly.
  3. Faýl: Gaty diskde (hdd) ýerleşýär we ulanyja degişli maglumatlary öz içine alýar.
  4. X-windows aka windows: Ulanyjynyň bir wagtyň özünde birnäçe zady ýerine ýetirmegine we/ýa-da bir işden beýlekisine geçmegine mümkinçilik berýän Windows (monitor) kiçijik “böleklere” bölünip bilýän Linux tertibi. aňsatlyk bilen grafikalary gowy görnüşde görüň.
  5. Tekst terminaly: Diňe tekst zatlaryny görkezmek ukyby bolan, grafika ýa-da gaty grafiki displeý ýok monitor.
  6. Sessiýa: Ulgamdan çykmagyň we çykmagyň arasyndaky wagt.

Adaty Linux paýlanyşynda gabygyň görnüşleri

Born gabygy: Bourne gabygy irki wersiýalarynda ulanylýan esasy gabyklardan biri bolup, de-fakto standartyna öwrüldi. Muny Bell Labs-da Stiwen Born ýazdy. Unix ýaly her ulgamda Bourne gabygy bilen gabat gelýän azyndan bir gabyk bar. Bourne gabyk programmasynyň ady “sh” bolup, adatça/bin/sh-de faýl ulgamynyň iýerarhiýasynda ýerleşýär.

C gabygy: C gaby, Berkli programma üpjünçiligini paýlamak üçin Bill Joý tarapyndan işlenip düzüldi. Sintaksis, C programmirleme dilinden soň modellendirildi. Ilki bilen interaktiw terminaly ulanmak üçin ulanylýar, ýöne skript we operasiýa ulgamyna gözegçilik etmek üçin ýygy-ýygydan ulanylýar. C gabygynyň köp interaktiw buýruklary bar.

Şatlyk başlamak! (Linux Shell)

Buýruk setiri ulanyjysy üçin müňlerçe buýruk bar, bularyň hemmesini ýatda saklamak nähili? Hmmm! Diňe edip bilmeýärsiňiz. Kompýuteriň hakyky güýji, işiňizi ýeňilleşdirmekdir, prosesi awtomatlaşdyrmaly we şonuň üçin skriptler gerek.

Ripazgylar faýlda saklanýan buýruklar ýygyndysydyr. Gabyk bu faýly okap, klawiaturada ýazylan ýaly buýruklar boýunça hereket edip biler. Şeýle hem, gabyk skriptleri hakykatdanam güýçli etmek üçin dürli peýdaly programmirleme aýratynlyklaryny üpjün edýär.

“Shell” programmirlemegiň esaslary

  1. Linux gabygyny almak üçin terminaly açmaly.
  2. Haýsy gabygyňyzyň bardygyny görmek üçin işlediň: echo $SHELL.
  3. Linux-da dollar belgisi ($) gabyk üýtgeýjisini aňladýar.
  4. Eho buýrugy näme ýazsaňyzam yzyna gaýtarýar.
  5. Turbageçiriji görkezmesi (|) birnäçe buýrugy zynjyrlanda halas edilýär.
  6. Linux buýruklarynyň öz sintaksisleri bar, Linux ýalňyşlyklar bolsa sizi bagyşlamaz. Buýrugy ýalňyş alsaňyz, hiç zady ýitirmersiňiz ýa-da zeper ýetirmersiňiz, ýöne ol işlemez.
  7. #!/bin/sh - Şebang diýilýär. Gabyk skriptiniň ýokarsynda ýazylýar we görkezmäni programma/bin/sh.
  8. berýär

Gabyk skriptleri barada

“Shell” skripti, ýerine ýetirip bolýan rugsady bolan “.sh” giňeltmesi bilen ýönekeý tekst faýly.

  1. Terminal açyň.
  2. cd buýrugyny ulanyp, skript döretmek isleýän ýeriňize geçiň.
  3. Cd (giriň) [Bu, öý bukjasynda görkezmäni getirer].
  4. hello.sh degiň (Bu ýerde ssenariýany salam diýip atlandyrdyk, .sh giňeltmegiň hökmanydygyny ýadyňyzdan çykarmaň).
  5. vi hello.sh (nano hello.sh) [Halaýan redaktoryňyzy ulanyp, ssenariýany redaktirläp bilersiňiz].
  6. chmod 744 salam.sh (skripti ýerine ýetirip bolýan).
  7. sh salam.sh ýa-da ./hello.sh (ssenariýany işletmek)

#!/bin/bash
# My first script

echo "Hello World!"

Aboveokardaky setirleri tekst faýlynda saklaň, ýerine ýetirip bolýan we ýokarda görkezilişi ýaly işlediň.

Hello World!

Aboveokardaky kodda

#!/bin/bash (is the shebang.)
# My first script (is comment, anything following '#' is a comment)
echo “Hello World!” (is the main part of this script)

Indiki ssenariýa geçmek üçin wagt gowy. Bu skript size, ulanyjy adyňyzy aýdyp berer we işleýän amallary sanar.

#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps

Aboveokardaky kodlar bilen bir faýl dörediň, islän zadyňyza ýazdyryň, ýöne “.sh” giňeltmesi bilen ony ýerine ýetiriň we terminaldan işlediň.

Hello tecmint
Hey i am tecmint and will be telling you about the current processes
Running processes List
  PID TTY          TIME CMD
 1111 pts/0    00:00:00 bash
 1287 pts/0    00:00:00 sh
 1288 pts/0    00:00:00 ps

Bu gaty gowy boldumy? Scriptazuw ýazmak, pikir almak we turbageçiriji buýruklary ýazmak ýaly ýönekeý. Käbir çäklendirmeler hem bar. Gabyk skriptleri gysga faýl ulgamy amallary we süzgüçlerde we turbalar arkaly buýruk setir gurallarynda bar bolan funksiýany utgaşdyrmak üçin ajaýyp.

Haçan-da zerurlyklaryňyz has uly bolsa - işleýşinde, berkliginde, öndürijiliginde, netijeliliginde we ş.m. - has doly dile geçip bilersiňiz.

C/Perl/Python programmirleme dilini ýa-da başga bir programmirleme dilini bilýän bolsaňyz, skript dilini öwrenmek gaty kyn bolmaz.

Göçüp, bu makala üçin üçünji we soňky ýazuwymyzy ýazyň. Bu ýazgy interaktiw skript hökmünde çykyş edýär. Näme üçin beýle däl, ýöne ýönekeý, ýöne interaktiw ýazgyny ýerine ýetirýärsiňiz we bize özüňizi nähili duýýandygyňyzy aýdyň.

#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"
Hey what's Your First Name?
Avishek
welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name
Kumar
Thanks Mr./Mrs. Avishek Kumar for telling us your name
******************************************************
Mr./Mrs. Kumar, it's time to say you good bye

Bu ahyrzaman däl. Size skriptiň tagamyny getirmäge synanyşdyk. Geljekki makalamyzda has kämil bolmak üçin bu skript diliniň mowzugyny, has soňkusy gutarmaýan skript diliniň mowzugyny düşündireris. Teswirlerdäki gymmatly pikirleriňize ýokary baha berilýär, Bizi halaň we paýlaşyň we ýaýramaga kömek ediň. Şoňa çenli diňe sowadyň, birikdiriň, sazlaň.