Shell, Bash un Scripts: Viss par Shell Scripting.

Šajā jaunajā izdevībā (8. ieraksts) uz "Uzziniet čaulas skriptu" mēs vairāk pievērsīsimies teorijai, nevis praksei. tas ir, mēs neinstalēsim un nepētīsim kodu, neinstalēsim noteiktu programmatūru (pakotni), bet mēs iedziļināsimies pasaulē, Shell skripti pareizi runājot, atbildot uz maziem, bet tiešiem jautājumiem, kas parādīti zemāk, lai līdz šim paskaidrotu daudz no mācītā, kas tieši neattiecas uz ieprogrammēto iekšējo kodu:

Shell skriptiKas ir apvalks GNU / Linux operētājsistēmā?

Korpuss, kas spāņu valodā nozīmē CONCHA (apvalks, apvalks, aizsardzība). Šis termins operētājsistēmās attiecas uz operētājsistēmas komandu tulku. Kopumā tas ir augstas veiktspējas teksta interfeiss, kas izpaužas kā termināls (konsole) un galvenokārt tiek izmantots 3 svarīgām darba jomām:

1.- Pārvaldiet OS,
2. Palaidiet lietojumprogrammas un mijiedarbojieties ar tām, un
3.- kalpo kā pamata programmēšanas vide.

Daudzi TIK, GNU / Linux tie joprojām tiek efektīvāk pārvaldīti, rediģējot savus konfigurācijas failus, izmantojot Terminal. Parasti tie ir atrodami galamērķa ceļā: «/ etc "un katras lietojumprogrammas īpašos direktorijos. Piemēram, programma lilo (kas nozīmē Linux Loader) tiek konfigurēts, rediģējot teksta failu, kas atrodas un tiek izsaukts kā "/Etc/lilo/lilo.conf". Programmu (lietojumprogrammu) gadījumā tās tiek palaistas (izpildītas / aktivizētas), ierakstot izpildāmā faila nosaukumu, ja tas ir atrodams visu izpildāmo failu ceļā (noklusējuma ceļš), kā parasti "/ Usr / bin" vai ierakstot izpildāmā faila nosaukumu, kam seko: ./, no direktorija, kurā tie atrodas.

Tas viss ir labi zināms jebkuram Shell lietotājam. Tomēr tās kā programmēšanas vides iespējas ir mazāk zināmas un novērtētas. Shellā izveidotie skripti (programmas) nav jāapkopo. Apvalks tos interpretē pa rindai. Tāpēc tie ir pazīstami vai nosaukti kā Shells skripti, un tie var svārstīties no vienkāršām komandām līdz sarežģītām instrukciju sērijām pašas OS palaišanai. ir diezgan tīra (acīmredzama) sintakse (uzbūve, pasūtīšana), padarot tos par labu sākumpunktu, lai sāktu programmēšanas pasaulē.

Kas ir Shell skripti?

Tas ir Script (uzdevuma automatizācijas fails) projektēšanas un izveides paņēmiens (prasme / veiklība), izmantojot operētājsistēmas apvalku (vēlams) vai teksta redaktoru (grafisko vai termināla). Šis ir programmēšanas valodas veids, ko parasti interpretē. Tas ir, lai gan lielākā daļa programmu tiek kompilētas (kodētas), jo tās pirms to izpildes (kompilēšanas process) tiek pastāvīgi pārveidotas par noteiktu (īpašu) kodu, čaulas skripts paliek sākotnējā formā (tā koda teksta fonts) un tiek interpretē komandu pēc komandas katru reizi, kad tie tiek izpildīti. Lai gan ir iespējams, ka skriptus var arī sastādīt, lai gan tas nav parasti.

Kādas ir programmas, kuru pamatā ir programmēšana Shell Scripting, raksturojums?

1. - tos ir vieglāk rakstīt (ieprogrammēt), bet, izpildot tos, ir augstākas apstrādes izmaksas.

2.- Viņi palaišanai izmanto tulkus, nevis kompilatorus

3.- Viņiem ir sakaru attiecības ar komponentiem, kas rakstīti citās programmēšanas valodās.

4.- Faili, kas tos satur, tiek glabāti kā vienkāršs teksts.

5.- Galīgais dizains (kods) parasti ir mazāks, nekā tas būtu ekvivalents sastādītā programmēšanas valodā.

Kādi ir vispopulārākie valodu veidi zem Shell Scripting?

1.- Uzdevuma un čaulas vadības valoda:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript, izmantojot Windows Script Host,
e) VBScript, izmantojot Windows Script Host,
f) REXX, starp daudziem citiem.

2. - GUI skripti (makro valodas):

a) AutoHotkey,
b) AutoIt,
c) Gaidīt,
d) Automator, cita starpā.

3. - Īpašu lietojumprogrammu skriptu valoda:

a) ActionScript Flash,
b) MATLAB,
c) mIRC skripts,
d) QuakeC, cita starpā.

4. - Tīmekļa programmēšana (dinamiskām lapām):

a) Servera pusē:

- PHP,
- ASP (Active Server Pages),
- JavaServer lapas,
- ColdFusion,
- IPTSCRAE,
- Lasso,
- MIVA skripts,
- SMX,
- XSLT, cita starpā.

b) Klienta pusē:

- JavaScript,
- JScript,
- VBScript,
- Tcl, cita starpā.

5. - Teksta apstrādes valodas:

- AWK,
- Perls,
- slāpes,
- XSLT,
- Bašs, cita starpā.

6.- Vispārējas nozīmes dinamiskās valodas:

- APL,
- Bū,
- Dilans,
- Ferīts,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perls,
- PHP,
- Python,
- Rubīns,
- shēma,
- Smalltalk,
- SuperCard,
- Tcl,
- Revolūcija, cita starpā.

Kas ir Bash GNU / Linux?

Tā ir datorprogramma, kuras funkcija ir interpretēt pasūtījumus. Tās pamatā ir Unix apvalks un tas atbalsta POSIX. Tas tika rakstīts GNU projektam un ir noklusējuma apvalks lielākajai daļai Linux izplatījumu.

Kas ir Shell skripts GNU / Linux?

Korpusa skripti tie ir ārkārtīgi noderīgi. Tā ir laba ideja uzrakstīt jebkuras vajadzības, kas mums ir, un pēc tam rediģēt skriptus, kas šo darbu mūsu labā veic. Tagad ir pienācis laiks uzdot sev jautājumu, kas tieši ir skripts. Tas ir teksta fails, kurā ir virkne čaulas komandu, kuras sistēma izpilda kārtīgi, no augšas uz leju. Lai tos rediģētu, starp daudziem esošajiem ir nepieciešams tikai teksta redaktors, piemēram, Emacs, Vi, Nano. Tie tiek saglabāti ar paplašinājumu .sh (dažos gadījumos bez tā) un tiek palaisti no Shell, izmantojot komandu: sh skripta nosaukums.sh. Skripti darbojas tāpat kā čaulas komandas.

Mācīšanas pieeja, kuru es personīgi izmantoju "Uzziniet čaulas skriptu" Tas ir ļoti praktiski un tieši, tas ir, pārbaudīt pilnībā funkcionējošu skriptu, sadalīt to, izpētīt teikumu pa teikumam, rindu pa rindai, komandu pēc komandas, mainīgo pēc mainīgā, līdz jūs saprotat, kā katrs elements darbojas atsevišķi un kā tas darbojas kodā vispārīgi. Tas ir sava veida Reversās inženierijas vai programmatūras pārveidošana. Tas viss, lai zināšanas pielāgotu, uzlabotu (optimizētu) un dalītos ar tām, lai gūtu kopēju labumu un labāku bezmaksas operētājsistēmu administrēšanu un optimizāciju.

Kā tas darbojas un darbojas GNU / Linux čaulā?

Pirmais solis darbā ar Shell ir palaist čaulu. Šķiet, ka patiesībai ir savs pamatojums. Dažos ļoti uz galalietotāju orientētos GNU / Linux izplatījumos apvalks ir diezgan paslēpts. Parasti to sauc: Konsole, Terminal, Terminal X vai kaut kas līdzīgs. Vēl viena iespēja ir izmantot virtuālo konsoli. Izmantojot: Ctrl + Alt + f1, vai f2, vai no f3 līdz f7 vai f8, atkarībā no izmantotā GNU / Linux izplatīšanas. GNU / Linux visbiežāk izmantotā Shell ir Bash, lai gan ir arī citi, piemēram, ksh vai C Shell. Manā gadījumā, īpaši attiecībā uz savām publikācijām, es izmantoju Bash Shell.

Ņemot Skriptu, kas izveidots Bash Shell, ko sauc labdien_pasaule.sh var izskaidrot šādi:

Saturs:

#! / bin / bash
atbalss sveika pasaule

Saplīst:

Skripta pirmā rinda
#! / bin / bash

Norāda programmu, kurai skripts jādarbojas. Ja programmu nevar atrast, notiks kļūda.

Skripta otrā rinda
atbalss sveika pasaule

Izpildiet komandu atbalss ar Hello World argumentiem, izraisot to parādīšanos ekrānā.

Izpilde: Mēs varam palaist skriptu divos veidos

Tulka uzaicināšana palaist skriptu:
# bash hello_world.sh

To var arī palaist kā:
# sh sveika_pasaule.sh

Bet, tā kā jūsu pareizais apvalks netiek izmantots, tas var darboties pusi. Ideālā gadījumā pirmajā rindā izsauktais apvalks ir tas, ko izmanto tā izpildei.

Skriptu var palaist arī tieši šādi:
# ./hello_world.sh

Piezīme: ./ norāda palaišanu no pašreizējā direktorija.

Atliek analizēt kodu, kuru tajā ievietojat. Es ceru, ka kā vienmēr jums patīk (daži vairāk nekā citi, atkarībā no mācīšanās un zināšanu vajadzībām) šī sērija Shell skripti.

Tīmeklī ir daudz labu saišu par šo tēmu, taču es jums atstāju šo mazo ceļvedi, kas atrodas šeit FromLinux.net Un šis cits Ārējā rokasgrāmata.

Līdz nākamajam ierakstam!


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

13 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   d4ny teica

    Lilo .. Linux Loader .. pārējais ļoti labs info .. paldies .. salu2 d4ny.-

  2.   Ing. Hosē Alberts teica

    Sveiciens visiem tiem, kas drīz apmeklēs tiešsaistes kursu “Mācieties čaulas skriptu”, mēs turpināsim izmantot citus pamata skriptus, lai turpinātu zināšanu izmantošanu un to socializēšanu visiem.

    Es ceru, ka jūs sekojat līdzi, jo drīz es sākšu ar vairāk uzlabotiem kodiem, bet parādīšu tā, lai tas būtu vizuāli saprotams, neskatoties uz tā sarežģītību.

    Atcerieties, ka, izmantojot Shell Scripting, jūs varat veikt daudzas sarežģītas lietas, kas ir starpplatformas (dažādi diskotēkas), izmantojot ļoti mazus failus. Es atstāšu jums šo mazo ekrāna kopiju ar kaut ko, ko es jums drīz iemācīšu, tiem, kas turpina skatīties kursu, un tas, ka tikai ar 50 Kb sola daudz! Un tas ir tikai puse no tā, ko var izdarīt, izmantojot Shell Scripting.

    LPI-SB8 testa ekrāna apraide (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Skatīt ekrāna apraidi: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto Kardona teica

      Sveiki, jūsu ieguldījums ir neticami, tiešām liels paldies !!
      Man ir nelielas šaubas, vai es varu programmēt kompilatoru ar bash?
      Vai vismaz leksiskais analizators?
      ir tas spēks?

  3.   Ing. Hosē Alberts teica

    Sveiciens visiem tiem, kas drīz apmeklēs tiešsaistes kursu “Mācieties čaulas skriptu”, mēs turpināsim izmantot citus pamata skriptus, lai turpinātu zināšanu izmantošanu un to socializēšanu visiem. Es ceru, ka jūs sekojat līdzi, jo drīz es sākšu ar vairāk uzlabotiem kodiem, bet parādīšu tā, lai tas būtu vizuāli saprotams, neskatoties uz tā sarežģītību.

    Atcerieties, ka, izmantojot Shell Scripting, jūs varat veikt daudzas sarežģītas lietas, kas ir starpplatformas (dažādi diskotēkas), izmantojot ļoti mazus failus. Es atstāšu jums šo mazo ekrāna kopiju ar kaut ko, ko es jums drīz iemācīšu, tiem, kas turpina skatīties kursu, un tas, ka tikai ar 50 Kb sola daudz! Un tas ir tikai puse no tā, ko var izdarīt, izmantojot Shell Scripting.

    LPI-SB8 testa ekrāna apraide (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Skatīt ekrāna apraidi: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto teica

    Sveiks, Hosē,
    Vispirms paldies par dalīšanos savās zināšanās. Jūsu raksti ir ļoti interesanti.

    Divas lietas, manuprāt, ir ļoti svarīgi izmantot dubultās pēdiņas "Sveika pasaule" un mūsu skripta izeja ir tīra ar izeju 0

  5.   Ing. Hosē Alberts teica

    Paldies par jūsu ieguldījumu, nākamajā skriptā redzēsit izejas 0, pārtraukuma un citu izmantošanu!

  6.   Vilarmands teica

    Sveicieni.
    Ļoti interesanti, jūs to izskatāties vienkārši; Tagad es esmu saskāries ar to, ka es nevaru programmēt Linux ar cron vai at, shutdown / suspend / hibernate ar sekojošu automātisku sākumu, izmantojot komandu rtc wake, es nezinu, vai skripts ar šo komandu palīdzētu, vai viņi sekotu cron un t, neko nedarot, vai arī to vienkārši nevar izdarīt, vai arī tas tiek darīts citā veidā, vai arī es esmu ļoti ambiciozs, bet operētājsistēmā Windows to ir salīdzinoši vienkārši izdarīt. Es gribu pāriet uz Linux, taču man ir svarīgi ieplānot izslēgšanu / apturēšanu / pārziemošanu un ļaut personālajam datoram startēt. Sveicieni.

  7.   Ing. Hosē Alberts teica
  8.   Vilarmands teica

    Paldies, es tos kārtīgi izlasīšu, kaut kas man palīdzēs. Sveicieni.

  9.   Eduardo Kuomo teica

    Pirms kāda laika es sāku projektu, kas, manuprāt, ir unikāls. Tas ir Framewok Bash prototips. Tas prasa tikai Bash sistēmā.
    Ja kāds cits ir ieinteresēts, viņš tiek aicināts to izmēģināt un sadarboties!

    https://github.com/reduardo7/bashx

    Sveicieni!

    1.    ķirzaka teica

      Cienījamais Eduardo, es domāju, ka tas ir lielisks projekts, varbūt jūs varētu to kopīgot ar visu desdelinux kopienu, atcerieties, ka jūs varat publicēt rakstu par savu projektu mūsu vietnē, ja jūs nezināt, kā to izdarīt, es iesaku jums izlasīt https://blog.desdelinux.net/guia-redactores-editores/ Kur ir paraugprakse rakstu izveidošanai desdelinux un veicamā procedūra. Iespējams, ka sabiedrībai ir diezgan labi vispirms uzzināt par sava projekta priekšrocībām un, otrkārt, uzzināt, kā darīt šāda veida lietas. Mēs aicinām jūs un pārējos aicinām publiskot savus projektus kopā ar mums un plašo sabiedrību, kas mūs ieskauj.

  10.   Migels Urosa Ruizs teica

    Sveika laba diena.
    Esmu jauns Linux mašīnu administrēšanas pasaulē, un es gribēju uzzināt, ko jūs tam iesakāt: ksh, bash, perl, php, python….
    Liels paldies un sveicieni.
    Migels.