Dhaqannada ugu wanaagsan ee lagu abuuro Qoraalka Shell ee GNU / Linux

Badanaa, marka aad bilowdo ka shaqeynta Aagga maamulka ee Servers leh GNU / Linux iyo / ama Unix Operating Systems, qofku wuxuu helaa (wajiyaal) ka shaqeynaya deegaan inta badan a howlo jadwal loo qorsheeyay maamullo kale ayaa qoray iyo in mar uun ay tahay inaan maamul (maamul) waayo, xalliyaan dhibaato kasta, hagaajinta iyo / ama baabi'inta, si loogu hoggaansamo shuruudaha cusub ee Hay'adda halka uu ka shaqeeyo. Markaa wax la yaab leh ma ahan, in wax cusub oo jira SysAdmin Meel kasta oo shaqo ah, waxaa ku soo food leh hawl culus oo ah fahamka qaar ka mid ah Qoraalka Shell dad kale abuureen jir SysAdmin, oo aan si fiican loo qorin, ama ku jira qaab macquul ah ama qaab qoraal ah, oo aan sahlaneyn in la fahmo, ama xaalada ugu xun, oo leh amarro amarro ah, aan caadi ahayn, duug ah, aan waxtar lahayn, ama aan ugu qorneyn qaab aan fiicnayn oo wareersan.

Shell Scripting

Iyadoo xalinta qoraallada si xun u qoran had iyo jeer waa xanaaq daqiiqad ah, tani waxay baraysaa qof walba wanaagsan SysAdmin wax muhiim ah. Haddii midkood uu abuurayo a Qoraalka Shell in loo isticmaalo wixii maanta ka dambeeya markasta way kafiican tahay ugu qor si xirfad leh oo habaysan, si waqti ka dib, qof kasta oo kale, ama naftiisa, uu ula socon karo kan dadaalka ugu yar iyo aqoonta ayaa lagu gaaraa isfahamka iyo maamulka waqtiga ugu yar.

Sidaa darteed, ka dib taxanaha wax ku oolka ah ee daabacaadaha ku saabsan "Baro Qoraalka Shell" halkaas oo aan ku baareyno qoraallo wax ku ool ah oo leh amarro fudud oo aasaasi ah, waxaan ku bilaabi doonnaa taxanahan cusub ee loo yaqaan "Dhaqannada ugu wanaagsan ee lagu abuuri karo qoraalka Shell ee GNU / Linux", halkaas oo aan si buuxda diirada u saari doono dhinac kasta oo yar oo ka mid ah iyo sababta waxyaabo badan, taas oo ah, waxaan daboolidoonaa talooyin qaar naga dhigaya inaan samayno qoraalo fiican, laakiin sidaa uma badna nafteena, laakiin qofka xiga (SysAdmin) waa inuu maareeyaa iyaga. Markaa uma baahnid inaad ku dhex marto hawsha caajiska iyo adag ee ah inaad ogaatid waxa aan calaamadeeyo, sida iyo sababta, iyo sababta ay mar dambe u shaqeyn weydo.

Arrintan booska koowaad (1aad) taxanahan cusub "Dhaqannada ugu wanaagsan ee loogu talagalay qoraalka Shell ee wanaagsan ee GNU / Linux" Waxaan ka hadli doonaa waxa ka socda ama tagaya Shell Script madax.

</s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s>
MADAXWEYNAHA - BOOQASHADA SHELADA
</s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s></s>

#! / dariiqa / fasiraadda [halbeegga doodda]

Sadarka sare waa qaab dhismeedka aasaasiga ah ee loogu talagalay Shell Script ee loogu talagalay GNU / Linux. Curiyeyaasheeda waxaa lagu tilmaami karaa sida soo socota:

#! => sha-bang

Sha-bang (#!) xagga sare ee Qoraalka la abuuray ama la abuurayo waa a qoraal sheegaya nidaamkayaga hawlgalka in faylkayagu yahay amarro go'an oo la quudin doono (waa la tarjumi doonaa) tarjumaha amarka ee ku xusan ka dib. Labada dabeecadood #! runti, waa a lambar sixir laba-byte, calaamadeeye gaar ah in magacaw nooc feyl ah, iyo kiiskayaga, qoraal qolof ah oo la fulin karo. Isla marka sha-bang ka dib waxaa soo baxa magaca dariiqa halka turjubaanka lagu dilayo uu ku yaal iyo magaca turjubaanka la sheegay. Si kale haddii loo dhigo, tani waa wadada loo maro barnaamijka fasiraya amarrada ku qoran qoraalka, ha noqoto tarjumaan, luqad barnaamij ama adeeg. Qolofkani wuxuu markaa fuliyaa amarrada qoraalka, laga bilaabo dusha sare (khadka ka dib sha-bang), oo iska indha tira wixii faallooyin ah. Qaar sha bang waxay noqon karaan:

#! / bin / sh
#! / bin / bash
#! / usr / bin / perl
#! / usr / bin / tcl
#! / bin / sed -f
#! / usr / awk -f

Sadar kasta oo kor lagu sharaxay (tusaale ahaan) wuxuu ku baaqayaa qolof kale. Sadarka / bin / sh, ka baryi qolof iyada oo ay ku xiran yihiin (Ku garaac GNU / Linux Operating System) ama wax la mid ah. Isticmaalka #! / bin / sh, qiimaha asalka ah ee Bourne qolof Inta badan noocyada ganacsi ee Nidaamyada Howlgalka ee saldhiggoodu yahay UNIX, waxay ka dhigaysaa qoraalka la abuuray loo qaadan karo Nidaamyada kale ee Hawlgalka ee aan Linux ahayn sida saxda ah, laakiin la mid ah ama ku saleysan ama UNIX, in kasta oo taasi ay u hureyso astaamo gaar ah oo BASH ah. Si kastaba ha noqotee, isku xigxiga "#! / Bin / sh" waafaqsan nidaamka Heerka POSIX sh.

Maskaxda ku hay taas dariiqa lagu bixiyay sha-bang waa inuu ahaadaa mid sax ah, haddii kale fariin qalad ah, badanaa "Amarka lama helin", waxay noqon doontaa natiijada kaliya ee fulinta qoraalka. Xusuusnow labada dabeecadood »#! « waa la iska dayn karaa haddii qoraalka uu ka kooban yahay oo keliya amarro guud oo Nidaamyada Hawlgalka ah, oo ah, iyada oo aan la adeegsan tilmaamaha Shell ee gudaha. Oo maskaxda ku hay mar kale taas »#! / Bin / sh« wuxuu u yeerayaa turjubaanka asalka ah ee asalka ah, kaas oo aan ku habboonayn »#! / Bin / bash« koox isaga la ah Nidaamka Howlgalka GNU / Linux.

Marka la eego doodaha, waxaa jira dhowr la isticmaali karo laakiin tan ugu badan ayaa ah: »-E«. taas oo ka dhigaysa qoraalka ansaxiyaan khaladaadka fulinta amar kastao (khadka laynka) iyo haddii uu wanaagsan yahay, qasbay joogsiga iyo bixitaanka, midka caadiga ah waa »-F« waayo, muuji qoraalka la rarayo mid ka mid naadirna waa »-Rm« taas oo fulisa tirtirkeeda marka fulinteeda la dhammeeyo. Kaliya waa macquul in lagu cadeeyo sha bang ilaa hal dood (halbeeg) ka dib magaca barnaamijka in la fuliyo.

Ugu dambeyntiina, u sheeg qoraalka doorsoomayaasha caalamiga ah ee aad u isticmaali doontid qeybaha muhiimka ah ee koodhkaaga, si loo xaqiijiyo dhacdooyinka, sida dariiqa fulinta, isticmaalaha idman, magaca qoraalka, iyo kuwo kale. Oo ku dhammaado xogta barnaamijka, abuuraha, abaabulka, iyo kuwo kale, oo lagu daray ruqsad siinta barnaamijka.

Taladayda (dhaqanka ugu fiican) in la doorto ugu fiican sha-bang iyo cinwaan a Qoraalka Shell Waxay yihiin:

#! / usr / bin / env bash

Maxaad u isticmaaleysaa amarka »Env« Waxaan u muujineynaa Nidaamka Howlgalka turjubaanka inuu adeegsado wadada saxda ah ee lagu qeexay dhexdeeda asal ahaan, taas oo noo ogolaaneysa inaan leenahay a sha bang taasi waxay kordhineysaa u-qaadashadeeda, maxaa yeelay dhammaantood maahan OS GNU / Linux turjubaanada ama barnaamijyadu waxay leeyihiin waddo isku mid ah. Iyo muran la'aan, sababtoo ah taas awgeed way kafiican tahay isticmaalka amarka set, maxaa yeelay isaga ayaynu kari karnaa ansaxiyaan khaladaadka, guud (-e) ama cayiman (+ x / -x), ama cadee horudhaca caalamiga ee deegaanka (-i) ama doorsoomayaasha gaarka ah (-u / –unset). Ugu dambeyntiina, si fuliyaan ficillo dhammaystiran (- o) gudaha qoraalka.

Marka waxa aan ku talinayaa MADAXA waxay noqon doontaa:

#! / usr / bin / env bash
# Ku muuji turjubaanka bash dariiqa dhabta ah ee Operating System.

dejiso -o errexit
# In loo sheego qoraalka in la joojiyo oo la xiro marka amar ama xariiqda fulinta ay dhacdo.

set -o magac-u-qorid
# Si aad ugu sheegto qoraalka inuu istaago oo xirmo marka qoraalka uu isku dayayo inuu isticmaalo doorsoomayaal aan la shaacin.

dhigay -o pipefail
# Si loo helo xaaladda bixitaanka ee amarkii ugu dambeeyay ee soo celiyay lambar ka bixitaan aan eber lahayn.

# dhigay -o xtrace
# Si aad ula socoto waxa socda. Faa'iido u leh baabi'inta. Awood si aad u hubiso khaladaadka kaliya.

Xusuusnow inaad raacdo talooyinkaan:

01.- Gali nambarkaaga: Ka dhigista koodhkaaga mid la aqbali karo waa mid aad muhiim u ah, waana wax dad badani u muuqdaan inay iloobeen sidoo kale. Iskuday inaad sameyso tusmooyinka lagama maarmaanka ah si aad u aragto qaab dhismeed macquul ah oo muuqda.

02.- Ku dar meelaha kala-goynta u dhexeeya qaybaha koodhka: Tani waxay gacan ka geysan kartaa in koodhku noqdo mid aad loo fahmi karo, maaddaama kala-saaridda qaybaha ama qaybaha ay gacan ka geysanayso in koodhku noqdo mid la akhrin karo oo si fudud loo fahmi karo

03.- Ka faallo sida ugu macquulsan ee ku saabsan lambarka: Xagga sare (ama hoose) ee amar kasta oo Amarka ah (Khadka Fulinta) ama Qeybta Qeybta, waxaa habboon in lagu daro sharraxaad ku saabsan shaqada qoraallada (qoraallada) si loo sharxo waxa ka dhacaya gudaha koodhka laftiisa.

04.- Abuur doorsoomayaal leh magacyo sharraxaya shaqooyinkooda: U qoondee magacyo is-bedbeddelaya oo sharraxa oo si cad u tilmaamaya shaqada loo abuuri doono. In kasta oo aad abuurto doorsoomayaal ku meelgaar ah oo aan waligood loo adeegsan doonin meel ka baxsan hal xayndaab koodh ah, weli way fiicantahay in la qoro magac si maldahan (ujeedo leh) u sharxaya qiimayaasha ama howlaha ay qabato.

05.- U adeegso qoraalka VARIABLE = $ (amarka) beddelka amarka: Haddii aad rabto inaad abuurto doorsoome qiimahiisa uu ka soo jeedo amar kale, waxaa jira laba qaab oo loo sameeyo bash. Iyadoo gadaal, taasi waa, leh jilayaasha `` , Tusaale: VARIABLE = `` xuduudaha-furitaanka ', laakiin horeyba waa loo nusqaamiyay, sidaa darteed qaabeynta ISBADEL AH = $ (amar) waa habka ugu casrisan, aqbalay uguna taliyay. MAYA -> DATE = `` taariikhda +% F` / HAA -> DATE = $ (taariikhda +% F)

06. - Isticmaal modules iyo / ama Isbedelada doorsoomayaasha Superuser iyo Isticmaalaha Idman oo leh ama aan lahayn lambarka sirta ah: In la kordhiyo heerarka amniga haddii loo baahdo.

07. si looga hortago in lagu isticmaalo meheradaha aan habboonayn.

08.- Isticmaal modules (habraacyada / qaybaha) si loo xaqiijiyo fulinta falalka muhiimka ah ama hawlgallada ah (modules / function): Si loo yareeyo khaladaadka ay sabab u tahay hagaajinta ama taxaddar la'aan.

09.- Bixi Isdhaafsiyo Saaxiibtinimo Isticmaalaha (Saaxiibtinimo u leh): By Terminal leh menus iyo midabbo leh wadahadal iyo Isdhexgalka Shaxanka ee Isticmaalayaasha Aasaasiga ah ee leh 'Zenity', 'Gxmessage'. Hadday suurogal tahayna isticmaal taageerada digniinta sonic ee tilmaamaysa dhacdooyinka la garan karo iyadoo loo eegayo codka. Waxaan isku dayey sida ugu macquulsan ee Qormadaadu awoodo labada siyaaboodba u shaqee adigoo u suurta gelinaya una naafoobaya xulashooyinka / modules / function.

10.- Ku dar soo dhawaynta iyo sagootinta (fariimaha): haddii ay lagama maarmaan noqoto in la kordhiyo isdhexgalka macaamiisha.

11.- Ku dar module xaqiijinta dil laba-jibbaar: U samee feyl quful ah si looga hortago in lagu fuliyo wax ka badan 1 waqti isla waqtigaas.

12.- Qiimee cabirka qoraalka oo leh shaqooyin iyo / ama module dibadeed: Haddii Qoraalku aad u ballaaran yahay, u qaybi koodhka adoo adeegsanaya waxqabadyo ama u kala qaybi qoraallo yar yar oo loo adeegsado mid weyn.

13.- U-yeeridda si cad oo cad oo loogu yeerayo wicitaanada loo dirayo tarjumaanada kale (barnaamijyada luuqadaha) ee ku jira qoraalka: Si cad ugu casuumaan khadadka ama modules.

Tusaale:

# ================================================== #
#!/bin/bash
#Llamando a un interprete externo a BASH
echo 'El siguiente texto será mostrado por el interprete de PERL'
perl -e 'print "Este texto es mostrado por un script PERL embebido.\n";'
exit 0
# ==================================================#
# ==================================================# 
#!/bin/bash #Llamando al interprete de Python. 
echo 'El siguiente es un script de python:'
echo print "Hola, mundo!" | tee $HOME/.testpythonbash.py
python $HOME/.testpythonbash.py exit 0
# ==================================================#

# ======================================================= #
#!/bin/bash
# bash-y-perl.sh

echo "Saludos desde la parte BASH del script."
# Es posible añadir mas comandos BASH aqui.

exit 0
# Fin de la parte BASH del script.

###########################################################

#!/usr/bin/perl
# Esta parte del script se invoca con la opcion -x.

print "Saludos desde la parte PERL del script.\n";
# Podemos añadir mas comandos PERL aqui.

# Fin de la parte PERL del script.
# ======================================================= #
 

Daabacadaha mustaqbalka waxaan ku balaarin doonnaa si faahfaahsan mid kasta oo ka mid ah dhaqamada kor lagu sharaxay.

Hadana haddii aad taqaanid dhaqanno kale oo wanaagsan, kuwaaga ama kuwa kale, ha ka waaban inaad ka faallooto iyaga si aad u samayso isugeyn dhammaystiran!

Ilaa daabacaadda soo socota ee taxanahan cusub.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   Max j ​​rodriguez dijo

    Kaliya hal faahfaahin, waa "shebang" 😛
    boostada aad u wanaagsan, dhaqamada wanaagsan ee mustaqbalka fog had iyo jeer waxay ka caawiyaan jaangoynta.

  2.   Mid halkan maray dijo

    Bash maahan qolofta aasaasiga ah ee dhammaan qaybinta, sidaas darteedna iskuxiraha / bin / sh astaanta markasta ma tilmaamayo bash. Tusaale ahaan Debian (oo waxaan u maleynayaa sidaas darteed Ubuntu):
    $ ls -l / bin / sh
    lrwxrwxrwx 1 xididka xididka 4 aza 8 2014 / bin / sh -> dash
    Qolofka asalka ah sidaas darteed Debian waa dash. Halkan ka eeg: https://wiki.debian.org/Shell

  3.   magac la'aan dijo

    Talo ahaan si aad u ogaato Shell in Use:

    ku celcelinta $ 0
    echo $ SHELL
    diri | grep SHELL

  4.   Jose Albert dijo

    Runtii waad saxantahay! Waxaan ku tijaabiyay DEBIAN 9 iyo Kali Linux 2.0 waana run! kaa qaadayaa inaad ku dhufato Xitaa intaa ka sii badan oo ah tallada ah: #! / Usr / bin / env bash haddii ay tahay Shell-ka aad rabto inaad isticmaasho.

    Xaqiiqdii waadna saxantahay waa shebang, laakiin bogagga internetka qaarkood (suugaanta farsamada) waxay ugu yeeraan shabang ama ereyo kale, markaa jahawareerkeyga. Tusaale:

    Xisaabinta, shebang waa taxanaha jilayaasha oo ka kooban calaamadaha tirada astaamaha iyo calaamadaha dhawaaqa (#!) Bilowga qoraalka. Waxaa sidoo kale loo yaqaan sha-bang, [1] [2] hashbang, [3] [4] pound-bang, [5] ama hash-pling

    ka: https://en.wikipedia.org/wiki/Shebang_%28Unix%29

    Y Cutubka 2. Bilaabidda Sha-Bang
    ka: http://www.tldp.org/LDP/abs/html/sha-bang.html

  5.   Jose Albert dijo

    Sidoo kale: magaca koowaad $ 0