Uyini umehluko phakathi kokusebenzisa iskripthi se-bash usebenzisa i-sh ne ./

Lo mbuzo ofanayo ungavela lapho usebenzisa noma yiluphi uhlobo lombhalo, hhayi ama-bash kuphela. Ingabe kukhona umehluko omkhulu phakathi kokusebenzisa iskripthi ngotolika nokuwusebenzisa ngqo?

Enye imfihlakalo esizoyiveza kulokhu okuthunyelwe okuthakazelisayo kusuka ku-Masisebenzise i-Linux (uL).


Uma uqhuba iskripthi ngokudlulisa igama lefayela lesikripthi kutolika (sh, python, perl, njll.), Empeleni wenza utolika, udlulisa uhlelo ofuna ukulusebenzisa njengengxabano. Isibonelo, sisebenzisa umhumushi sh ngokuyidlulisa impikiswano ye-miscript.sh.

sh okungelona iqiniso.sh

Uma uqhuba iskripthi uqobo, uhlelo luzobiza utolika oludingayo bese-ke, yebo, luzosebenzisa iskripthi, siludlulisele njengengxabano kutolika, kepha luzenzakalele futhi ngaphandle komsebenzisi owenze lo mbhalo azi.

./umbhalo.sh

Ukuze usebenzise iskripthi uqobo, kufanele kuhlangatshezwane nemibandela emi-2:

1) iskripthi kufanele sifake i- "bang line". Lo umugqa wokuqala weskripthi, okufanele uqale ngezinhlamvu #! nokuthi kufanele ucacise indlela lapho utolika atholakala khona. Kubalulekile ukuthi wazi ukuthi lesi simo siyiqiniso kunoma yiluphi uhlobo lwesikripthi (i-python, i-perl, njll.), Hhayi labo abavela ku-bash kuphela.

Ngakho-ke, ngokwesibonelo, iskripthi sethu kufanele siqukathe okulandelayo njengomugqa wokuqala:

#! / bin / bash

2) ifayili kufanele libe nezimvume ezisebenzayo:

Ukunikeza izimvume zokwenza iskripthi sethu, kufanele sibhale:

chmod a + x miscript.sh

Silungile, manje vele uyisebenzise kanjena:

./umbhalo.sh

Noma ngokukopisha iskripthi sendlela "ekhethekile" evumela ukuthi icelwe kalula. Isibonelo, singayikopisha ku- / usr / sbin bese siyisebenzisa kusuka noma yikuphi ngaphandle kokufaka indlela ephelele lapho itholakala khona:

Siyakopisha:

Sudo cp miscript.sh / usr / sbin / miscript

Sikhipha:

okubhalwe phansi

Njengoba ukwazi ukubona, empeleni okwenzeka ekusithekeni kufana kakhulu kuzimo zombili. Kodwa-ke, ngokufaka i- "bang line", imibhalo yakho izoba lula kakhulu ukusabalalisa, ngoba abasebenzisi ngeke kudingeke bakhumbule indlela lapho kutolika okudingekayo khona ukuze bakwazi ukubenza. Isiphetho: empeleni ngumbuzo wenduduzo.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   Oswaldo Villarroel kusho

    Ngivumelana nawe Erpower, zombili izinhlobo zotolika nendlela yaso ziyahlukahluka hhayi njalo, ikakhulu uma kubhekwa ukuthi ukusatshalaliswa kwe-GNU / Linux akubona bodwa abasebenzisa iBash (kukhona futhi: i-freeBSD, i-OpenSolaris , Mac) futhi eziningi zazo zinokulungiswa noma imizila ehlukile.

    Into ebalulekile ukuthi wazi ukuthi uyakwazi ukuguquguquka (njengoba ushilo kahle) ukuze udlale ngocingo oluya kuskripthi, kungaba nge ./ noma nge-sh (noma nge-python ... njll.)

  2.   he_who_nows@gmail.com kusho

    IBash uhlelo lwekhompyutha olunomsebenzi wokuhumusha ama-oda.

    Kususelwa kugobolondo le-Unix futhi kuyahambisana ne-POSIX.

    esikhundleni salokho uhlelo lwekhompyutha olunomsebenzi wokuhumusha ama-oda.
    Ifaka izici ezinjengokulawulwa kwenqubo, ukuqondiswa kabusha
    okokufaka / okukhiphayo, ukufakwa kuhlu kwefayela nokufunda, ukuvikelwa,
    ukuxhumana nolimi lokuyala ngezinhlelo zokubhala ngu
    amaqoqo noma imibhalo. Bekungutolika osetshenziswe kuzinguqulo zokuqala ze-Unix futhi kwaba yindinganiso ye-de facto.

  3.   UDiana C. kusho

    Sawubona, ngiyaqala ekusetshenzisweni kwemibhalo futhi ngithanda ukwazi ukuthi ngabe othile angangisiza yini enkingeni enginayo:

    Ngiphethe uhlelo oludinga ukufakwa kwemininingwane eminingana yokuqala ngokusebenzisa ikhonsoli futhi ngithole ukuthi ngesikripthi kungenzeka ukwenza uhlelo ngemininingwane yokuqala, ukuze kungafanele ngilibhale kaninginingi lapho ngi ngidinga ukuqhuba uhlelo.

    Angazi ukuthi ngikwenze kanjani, ngakho-ke uma umuntu engangisiza ngalokhu ngiyobonga kakhulu.

  4.   Masisebenzise iLinux kusho

    Bona, kuya ngokuthi uloba luphi ulimi uhlelo oluyi-programm. Noma kunjalo, noma ngabe ikuphi okudingayo:

    1) Uma ufuna umsebenzisi ukuthi afake leyo datha noma nini lapho kwenziwa iskripthi, inqubo ejwayelekile kakhulu ukuguquguquka ukuthatha amanani afakiwe kokufaka.

    2) Uma amanani ahlala efana, ungasebenzisa ama-constants.

    3) Enye inketho ukuthi kungenzeka ukuthi iskripthi sakho singathatha amapharamitha.

    Halala! UPaul.

  5.   Masisebenzise iLinux kusho

    Kuyathakazelisa lokhu okukhulumayo. Ibizwa ngezindlela ezi-2: umugqa weShebang noma umugqa oqondile we-bang. Ngikunikeza imininingwane: http://python.about.com/od/programmingglossary/g/defbangline.htm
    Halala! UPaul.

  6.   @nomfundo_m kusho

    Kuyathakazelisa ukuthi bengingakaze ngiyeke ngicabange ngaleyo mininingwane. Kungaba okuthokozisayo ukubona izindatshana ezithe xaxa zokucabanga, kufaka phakathi ukubuyiswa kabusha kwe-kernel okudumile ukususa amakhilogu ekhodi engadingekile akhona kuphela ukuhambisana nokwenza ngcono isivinini sohlelo.

  7.   Masisebenzise iLinux kusho

    KULUNGILE. Ngizokugcina lokho engqondweni.
    Halala! UPaul.

  8.   Masisebenzise iLinux kusho

    Ngiyajabula ukuthi kusebenzile. Ngihlala ngizama ukuthumela izinto engicabanga ukuthi zingathakazelisa futhi zisebenziseke.
    Ukwanga! UPaul.

  9.   UFeliksi Manuel Brito Amarante kusho

    Wonke umqambi onemikhuba emihle ungeza i- "bang line" kulayini wokuqala wekhodi. KuPython angikaze ngikhohlwe ukufaka amakhodi nomugqa we-bang.
    #! / usr / bin / python2.7
    # *. * encoding = utf-8 *. *

  10.   I-Diex02 kusho

    Kuhle kakhulu, ngethemba lokuthi ungashicilela imininingwane eminingi ngomugqa womyalo, ikakhulukazi uma kukhulunywa ngokuhlanganisa noma ukufaka kumafayili womthombo (tar.gz, njll.)

  11.   joe di castro kusho

    Ngangingakaze ngizwe nge- "bang line" Bengihlale ngiyazi njengoShebang

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

    Phendula ngokucaphuna

  12.   UJonathan Fernandez kusho

    inothi elimnandi… ngiyabonga!

  13.   Ithi eM kusho

    Kuyathakazelisa kanjani, ngizitshela ukuthi angazi lutho ezinhlelweni nakuyonke into ephathelene neskripthi, bengingazi ukuthi kusebenza kanjani, kepha ngibonile ukuthi abanye banalo lelo nhloko.

  14.   UMario raimondi kusho

    Ukucaciswa okwenzeke kimi okuphathelene nalokhu okufakiwe: Bengifuna ukufaka igajethi yomoya ye-adobe (i-poker odds calculator). Lokho okwenziwa yisifaki somoya se-adobe kuqhuba iskripthi esihambisanayo ne- "su" kodwa kufomu ./ ukukucela iphasiwedi eyimpande. Njengoba iskripthi sasingenazo izimvume zokwenza lokho, sajikijela imvume, isixazululo: sebenzisa iskripthi nge-sh uma ungafuni ukushintsha izimvume (ngokushesha kunokuya kufolda ye-tmp chmod nakho konke lokho). Lapho iskripthi senziwa khona, sibiza isifaki se-adobe nenye into yovemvane.

  15.   U-Ero-Sennin kusho

    I-athikili ethakazelisa kakhulu! Ngiyabonga ngokungisiza ngazi okwengeziwe nge-console. Ake sibheke ukuthi uyaqhubeka yini nokushicilela izindatshana ezinjengalezi ^ ^.
    Qhubeka, lokhu ngokungangabazeki ibhulogi yami engiyithandayo !!

  16.   Amandla kusho

    Khumbula ukuthi kungahle kube nomehluko phakathi kwezinguqulo zomtoliki ezisetshenziswayo. Ukuqalisa iskripthi ngqo ngokusho kweShebang ayikho indlela yokukhombisa ukuthi iyiphi inguqulo yomhumushi ongayisebenzisa, engadingeka. Uma usebenzisa umhumushi esikhundleni bese udlulisa iskripthi njengepharamitha, uyazi ukuthi iyiphi inguqulo yayo esebenzayo.

    Isibonelo ePython, uma i-shebang ingu #! / Usr / bin / python2.4 uhlelo luzosebenza ngokuhlukile kunokuthi kube #! / Usr / bin / python2.6 noma uma kungu #! / Usr / bin / python (okuvamise ukuba isixhumanisi esingokomfanekiso senguqulo yePython efakwe futhi yamiswa ngokuzenzakalela). Lokhu kwenzeka ngoba iPython 2.6 inokusebenza okusha obekungekho ku-Python 2.4, ngakho-ke ukubhala iskripthi esisebenzisa lokho kusebenza okukhombisa i- #! / Usr / bin / python shebang kuzohluleka uma uhlelo lune-python 2.4 kuphela efakiwe. Esikhundleni salokho, ungahlala uphoqa iskripthi ukuthi sisebenze ngenguqulo ye-python oyifunayo ngokuyiqala nge "python2.4 /path/al/script.py" noma "python2.6 /path/al/script.py/

    Kwemibhalo yeShell, kukhona futhi umehluko phakathi kwamagobolondo owasebenzisayo, ngakho-ke ukusebenzisa #! / Bin / sh kanye #! / Bin / bash kungaba nemiphumela ehlukile ngokuya ngesikripthi. Uma ubhala iskripthi usebenzisa izici ezikhona kuphela ku-bash kepha ucacise i- #! / Bin / sh shebang, iskripthi sakho sizosebenza ku-Linux (kuningi okusabalaliswayo / i-bin / sh isixhumanisi esingokomfanekiso ku-bash) kepha kuzohluleka kwamanye ama-UNIX lapho i-bash ingafakiwe noma lapho / bin / sh kungesona isixhumanisi esingokomfanekiso ku- / bin / bash.

    Futhi okuhlobene nokuphatheka, kufanele kubhekwe ukuthi indlela ekhonjiswe kuShebang iphelele, futhi kunezikhathi lapho otolika bafakwa kwezinye izindawo. Isibonelo, kuvamile ukuba nomhumushi we-python afakwe ku- / usr / local / bin / python uma ngabe ulande futhi wahlanganisa iPython esikhundleni sokusebenzisa iphakheji kusuka ekusatshalalisweni kwakho. Uma i-shebang yakho ingu #! / Usr / bin / python, iskripthi ngeke sisebenze kulawo masistimu. Ukuzama ukugwema lezi zinkinga, ungasebenzisa njenge shebang "#! / Usr / bin / env python" (noma "#! / Usr / bin / env sh") njengoba kuchaziwe ku http://en.wikipedia.org/wiki/Shebang_(Unix)#Portability

  17.   Masisebenzise iLinux kusho

    Ngiyabonga Jonathan! Kuhle ukukubona uphawula!
    Halala! UPaul.

  18.   antonio kusho

    Akukho lapho kwenza khona engifuna ukukwazi, noma okungenani angazi ukuthi ngingawuphakamisa kanjani enjini yokusesha, ngifuna ukudala iskripthi okuthi ngesizathu xX sisebenzise ukufaneleka komyalo noma i- «su» (kuyisibonelo kuphela kepha angamacala ama-2 engiwacabangayo) futhi esimeni sokufaneleka kwesinye isikhathi angicela ukuthi ngifake u- "yon" noma ku- "su" angibuze iphasiwedi ... Ngingathanda ukuthi iskripthi sikhethe lezo zinketho ngokuzenzakalela kungaba ngokudlulisa ipharamitha noma ukusebenzisa enye indlela engayazi ... Siyabonga ngokunakwa

    1.    masisebenzise i-linux kusho

      Sawubona Antonio! Uma inkinga yakho kufanele ifake iphasiwedi, angicabangi ukuthi kunesixazululo. Ngokuqondile ngoba kuyindlela yokuphepha, ukuze kungewona wonke umuntu ongafaka uhlelo.
      Mayelana nokufaneleka nokubeka yebo, ngicabanga ukuthi kungaxazululwa. Angikhumbuli njengamanje ukuthi iyiphi ipharamitha okufanele isetshenziswe, kepha thola nje emakhasini womuntu. Vula ukuphela bese ufaka umyalo: ukufaneleka komuntu.
      Hug! UPaul.

  19.   UDavid MM kusho

    Okuthunyelwe okuhle kakhulu.
    Ngikuthandile -kulesi sikhala- ukuthi umbuzo / ukungabaza okuvelayo kuphendulwe ngokusobala nangokufishane.