Wateya #!/bin/bash çi ye û çima divê were bikar anîn

Nûvekirina Dawîn: 20/08/2024

Binbaş tê çi wateyê?

Ger hûn gavên xwe yên yekem wekî nivîserek li ser pergalên xebitandinê yên Unix-ê bavêjin, hûn ê ferq bikin ka xeta kodê #!/bin/bash çiqasî tê bikar anîn. Fêmkirina wate û girîngiya wan dikare ji we re bibe alîkar ku hûn nivîsarên Bash bikêrtir û pêbawer binivîsin.. Di vê navnîşê de hûn ê hemî têgînên bingehîn ên ku hûn hewce ne ku jêhatî bibin bibînin da ku wê çêtir fam bikin.

Bi hêsanî, xeta #!/bin/bash, ku wekî "shabang" an "hashbang" jî tê zanîn, mekanîzmayek e ku ji pergala xebitandinê re dibêje ka kîjan bernameyê bikar bîne da ku koda ku li pey tê şîrove bike. Naha, ew dikare hinekî tevlihev be ku meriv fam bike ka ew çawa dixebite an kengê pêdivî ye ku meriv wê bikar bîne. Ji ber vê yekê, li jêr em wateya wê ya tevahî di ronahiya têgeh û têgehên din ên têkildar de hûrgulî dikin.

Wateya #!/bin/bash çi ye? Basics

Wateya #!/bin/bash çi ye

Ji bo têgihîştina wateya #!/bin/bash çi ye, girîng e ku meriv hin têgehên bingehîn ên têkildarî bernamekirinê binirxîne. Hêjayî bibîrxistinê ye ku Bash a zimanê bernamenivîsê bi berfirehî di pergalên xebitandinê yên mîna Unix-ê de, wekî Linux û macOS-ê tê bikar anîn. Jî wekî wergêrek rêzika fermanê (Shell) kar dike ku pê re hûn dikarin nivîsar û pelên din ên bi dirêjkirina .sh bimeşînin..

Ji ber vê yekê, dema ku skrîptek bi zimanê Bash dinivîsin, adet e ku pel bi rêza #!/bin/bash dest pê bike. Bo? Ji ber ku bi vî awayî ji pergala xebitandinê re tê gotin ku kîjan wergêrê fermanê divê bikar bîne da ku kodê nas bike û bicîh bîne. Di vê rewşa taybetî de, ji we re tê gotin ku hûn pelê bash bi şêlê bash bimeşînin.

Naveroka taybetî - Li vir bikirtînin  Cûdahiya di navbera mîrata hêsan û mîrasiya pirjimar de

Piraniya pergalên xebitandinê yên Unix-ê şêlê bash wekî wergêrê fermanê ji hêla xwerû ve bikar tînin, ji ber vê yekê ne hewce ye ku wê diyar bikin. Lebê, carinan şêlê xwerû ji bo bash nayê mîheng kirin, ku pêkanîna pelê ne gengaz dike. Ji ber vê yekê pratîkek baş e ku meriv rêzika #!/bin/bash wekî xala destpêkê ji bo hemî nivîsarên ku di Bash de têne çêkirin bikar bînin. Ev piştrast dike ku şêlê rast skrîptê dimeşîne, bêyî ku li hawîrdora ku lê tê darve kirin.

Çima jê re xeta "shabang" an "hashbang" tê gotin?

wateya #!/bin/bash

Wekî ku me di destpêkê de got, rêza #!/bin/bash di derdorên Unix de wekî "shabang" an "hashbang" tê zanîn. Ev têgeh ji yekbûna navên her du sembolên pêşîn (#!) derdikeve: "tûj" an "hashtag" (#) û nîşana "bang" (!). Wiha, Şabang (she-bang) di hesabkirinê de rêza nîşana hejmarê û tîpên qîrînê yên di destpêka nivîsareke bernamesaziyê de ye. 

Di eslê xwe de, fonksiyona şebangê ye ji pergala xebitandinê re bêje ka kîjan wergêr bikar bîne da ku skrîptekê bixebitîne. Ev nîşan bi berfirehî tê bikaranîn Unix û Linux, ku skrîpt ji bo otomatîkkirina peywiran û birêvebirina pergalê pêdivî ye. Hin mînakên hevpar ên vê rêzika karakterê wiha ye:

  • #!/bin/bash: Skrîptê bi şelê Bash, bi riya /bin/bash bi kar bîne.
  • #!/bin/sh: Skrîptê bi Bourne an şêla din a lihevhatî bimeşînin.
  • #!/usr/perl-T: Skrîptê bi karanîna perl-ê bi vebijarka kontrolên tîrêjê bimeşînin.
  • #!/bin/csh-f: Skrîptê bi karika C an yeka din a hevaheng bi kar bîne.
  • #!/usr/bin/env python: Skrîptê bi guhertoya rast a wergêra python bimeşîne.
Naveroka taybetî - Li vir bikirtînin  Di navbera zengila token û Ethernetê de tevlihev in?: Ji bo torgilokek bikêrtir cûdahiyên sereke fêr bibin

Çima girîng e ku meriv xeta shebang di nivîsandina Bash de bikar bîne?

Bernamekirin li ser macbook

Dema ku bi Bash re nivîsan diafirînin, pir girîng e ku hûn şebangê li ser rêza yekem a pelê binivîsin. Vî alî, Dema ku skrîptê dimeşîne, pergala xebitandinê rêza yekem dixwîne û wergêr nas dike. Dûv re pergal bernameya bash di bîra xwe de bar dike, ku di encamê de rêz bi rêz nivîsarê dixwîne, her fermanê şîrove dike û wê dimeşîne.

Wekî ku hûn dibînin, Bi nîşankirina bash di xeta shebang de, hûn pê ewle dibin ku skrîpt rast hatî darve kirin. Bînin bîra xwe ku wergêrên fermanên din hene, wek Python û Perl, ku hevoksazî û fonksiyonên cûda hene. Ger hûn diyar nekin ka kîjan bikar bînin, pergala xebitandinê dê hewce bike ku texmîn bike, ku ev yek kirina nivîsê hêdî dike an jî ne mumkun dike. Di rastiyê de, dibe ku hûn hewce ne ku her carê ku skrîpt tê xebitandin bi destan wergêr diyar bikin, ku dibe sedema xeletiyan.

Naveroka taybetî - Li vir bikirtînin  Cûdahiya di navbera pirpêvajoya simetrîk û pirpêvajoya asimetrîk de

Di heman demê de, rêza #!/bin/bash di nivîsarên bash de zêde bikin destûrê dide van pelan ku li ser pergalên xebitandinê yên cihêreng bi rêve bibin. Bê guman, ji bo ku ev gengaz be, divê wergêrê fermana Bash berê li ser pergalê were saz kirin. Linux û macOS di pir rewşan de ew ji hêla xwerû ve hatî saz kirin. Ji hêla din ve, heke hûn pergala xebitandina Microsoft-ê bikar bînin, hûn ê neçar bin ku hin gavan bişopînin Bash li ser Windows 10 saz bikin e Bash li ser Windows 11 saz bikin.

Encam: Xeta #!/bin/bash

Di encamê de, em dikarin wiya bibêjin Rêza #!/bin/bash ji bo her tîpek Bash bingehîn e. Ev nîşan dide we ku hûn wergêra fermanê ya ku ji bo pêkanîna rêzikên kodê yên jêrîn hewce ne destnîşan bikin. Ji bîr nekin ku her gav wê di destpêka nivîsarên xwe de bicîh bikin da ku xwendin û bicîhanîna wan rast piştrast bikin.