Nguwuphi umahluko phakathi kokuqhuba iscript esishicilelweyo usebenzisa sh kunye.

Lo mbuzo mnye unokuvela xa usebenzisa naluphi na uhlobo lweskripthi, hayi nje i-bash. Ngaba kukho nawuphi na umahluko obalulekileyo phakathi kokuqhuba iskripthi ngokusebenzisa itoliki kwaye uyiqhube ngokuthe ngqo?

Enye imfihlakalo esiza kuyityhila kule post inomdla Masisebenzise iLinux (uL).


Xa uqhuba iskripthi ngokudlulisa igama lefayile yeskripthi kwitoliki (sh, python, perl, njl.), uqhuba itoliki ngokugqithisa inkqubo ofuna ukuyiqhuba njengempikiswano. Umzekelo, siqhuba itoliki ethi sh ngokuyidlulisela ingxabano myscript.sh.

sh myscript.sh

Ukuba uphumeza iskripthi ngokwaso, inkqubo iya kubiza itoliki eyifunayo kwaye, emva koko, iya kwenza iskripthi igqithise njengengxabano kumtoliki, kodwa konke ngokuzenzekelayo kwaye ngaphandle komsebenzisi owenze iskripthi esazi.

./isicatshulwa.sh

Ukuze kuqhutywe iskripthi ngokwaso, iimeko ezi-2 mazifezekiswe:

1) iskripthi kufuneka siquke umgca we-bang. Lo ngumgca wokuqala weskripthi, ekufuneka uqale ngabalinganiswa #! kwaye loo nto kufuneka ichaze indlela ekuyo itoliki. Kubalulekile ukuba uqaphele ukuba le meko idibene naluphi na uhlobo lweskripthi (python, perl, njl.), kungekhona nje i-bash.

Ke, umzekelo, iskripthi sethu kufuneka siqulathe oku kulandelayo njengomgca wokuqala:

#! / bin / ibash

2) ifayile kufuneka ibe neemvume zokuphumeza:

Ukunika imvume yokuphumeza kwiscript sethu, kufuneka sibhale:

chmod a+x myscript.sh

Ulungile, ngoku yiqhube ngolu hlobo:

./isicatshulwa.sh

Okanye ukukopa umbhalo kwindlela "eyodwa" evumela ukuba ibhengezwe ngokulula. Umzekelo, sinokuyikhuphela kwi/usr/sbin kwaye siyiqhube ukusuka naphi na ngaphandle kokuquka indlela epheleleyo apho ikhoyo:

Sikopa:

sudo cp miscript.sh /usr/sbin/miscript

Siphumeza:

myscript

Njengoko ubona, eyona nto yenzekayo emva kwezigcawu iyafana kuzo zombini iimeko. Nangona kunjalo, ngokubandakanya "i-bang line", izikripthi zakho ziya kuba lula kakhulu ukusasaza, kuba abasebenzisi abayi kukhumbula indlela apho iitoliki eziyimfuneko zibekwe khona ukuze bakwazi ukuziphumeza. Isiphelo: Ngokusisiseko ngumbandela wokuthuthuzela.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   Oswaldo Villarroel sitsho

    Ndivumelana nawe Erpower, zombini uguqulelo lwetoliki kunye nomendo wayo zizinto eziguquguqukayo kwaye aziguquguquki, ngakumbi ukuba ucinga ukuba unikezelo lwe-GNU/Linux ayilulo lodwa olusebenzisa iBash (kukwakho: freeBSD, OpenSolaris, Mac ) kwaye uninzi lwazo lunoqwalaselo olwahlukileyo okanye iindlela.

    Into ebalulekileyo kukwazi ukuba unokuguquguquka (njengoko ukhankanyile) ukudlala ngomnxeba kwiskripthi, nokuba nge./ okanye nge-sh (okanye ipithon... njl.njl.)

  2.   el_que_sabe@gmail.com sitsho

    I-Bash yinkqubo yekhompyutha emsebenzi wayo kukutolika imiyalelo.

    Isekwe kwiqokobhe le-Unix kwaye iyahambelana nePOSIX.

    Kwelinye icala, u-sh yinkqubo yekhompyutha emsebenzi wayo kukutolika imiyalelo.
    Ibandakanya iimpawu ezifana nolawulo lwenkqubo, ukuqondisa ngokutsha
    igalelo / imveliso, uluhlu kunye nokufunda iifayile, ukhuseleko,
    unxibelelwano kunye nolwimi lomyalelo weenkqubo zokubhala
    iibhetshi okanye imibhalo. Yayiyitoliki esetyenziswe kwiinguqulelo zokuqala ze-Unix kwaye yaba ngumgangatho we-de facto.

  3.   UDiana C sitsho

    Molo, ndingumqali ekusebenziseni izikripthi kwaye ndingathanda ukwazi ukuba kukho umntu onokundinceda kwingxaki endinayo:

    Ndilawula inkqubo efuna ukufakwa kwedatha emininzi yokuqala ngokusebenzisa ikhonsoli kwaye ndiye ndafumanisa ukuba ngeskripthi siyakwazi ukuqhuba inkqubo ngedatha yokuqala, ukuze ungayibhali ngokuphindaphindiweyo xa idinga ukuqhuba inkqubo.

    Andazi ukuba ndenze njani, ngoko xa kukho umntu onokundinceda kulento ndingabulela kakhulu.

  4.   Masisebenzise iLinux sitsho

    Jonga, kuxhomekeke kuluphi ulwimi lwenkqubo obhala kulo iskripthi. Nangona kunjalo, kuyo nayiphi na imeko into oyifunayo yile:

    1) Ukuba ufuna umsebenzisi angenise le datha nanini na iskripthi senziwa, eyona nkqubo ixhaphakileyo yeyokuguquguquka ukuthatha amaxabiso afakiweyo kwigalelo.

    2) Ukuba amaxabiso ahlala efana, ungasebenzisa i-constants.

    3) Enye inketho kukuba umbhalo wakho unokuthatha iiparamitha.

    Masinwabe! UPawulos.

  5.   Masisebenzise iLinux sitsho

    Le nto uyikhankanyayo inika umdla. Ibizwa ngeendlela ezimbini: umgca we-shebang okanye umgca we-bang ngqo. Ndiza kukunika ulwazi: http://python.about.com/od/programmingglossary/g/defbangline.htm
    Masinwabe! UPawulos.

  6.   @lumellamomario sitsho

    Okubangela umdla kukuba, andizange ndiyeke ukucinga ngaloo nkcukacha. Kuya kuba mnandi ukubona amanqaku amaninzi e-console tweaking, kubandakanya i-kernel edumileyo yokwakhiwa kwakhona ukususa iikhilogram zekhowudi ezingafunekiyo ezikhona kuphela ukuhambelana kunye nokuphucula isantya senkqubo.

  7.   Masisebenzise iLinux sitsho

    KULUNGILE. Ndiya kugcina loo nto engqondweni.
    Masinwabe! UPawulos.

  8.   Masisebenzise iLinux sitsho

    Ndiyavuya ukuba yenziwe. Ndihlala ndizama ukuthumela izinto endicinga ukuba zinokuba nomdla kwaye zisebenziseke.
    Ihagi! UPawulos.

  9.   Felix Manuel Brito Amarante sitsho

    Wonke umdwebi wenkqubo onemikhwa emihle wongeza "umgca we-bang" kumgca wokuqala wekhowudi. KwiPython andisoze ndiyilibale ikhowudi kunye nomgca we-bang.
    #!/usr/bin/python2.7
    #*.*encoding=utf-8*.*

  10.   Diex02 sitsho

    Okugqwesileyo, ndinqwenela ukuba banokupapasha ulwazi oluninzi malunga nomgca womyalelo, ngakumbi xa kuziwa ekuhlanganiseni okanye ekufakeni kwiifayile zomthombo (tar.gz, njl.)

  11.   joe di castro sitsho

    Andizange ndive nge "bang line" bendisoloko ndisazi njengeShebang

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

    Phendula nge quote

  12.   UJonathan Fernandez sitsho

    Inqaku elinika umdla… enkosi!

  13.   EM Say eM sitsho

    Indlela enika umdla ngayo, ndivakalisa ukuba andinalwazi ngokupheleleyo kwiprogram kunye nayo yonke into enxulumene nezikripthi, ndandingazi ukuba isebenza njani, kodwa ndiye ndaqaphela ukuba abanye banalo sihloko.

  14.   UMario raimondi sitsho

    Ingcaciso eyenzekileyo kum enento yokwenza nokungeniswa: Bendifuna ukufaka igajethi yeAdobe Air (isibali sepoker odds calculator). Yintoni eyenziwa ngumfakeli we-Adobe Air kukuphumeza iscript esihambelana no "su" kodwa ngendlela ./, ekubuza ingcambu yegama eligqithisiweyo. Ukusukela ukuba ushicilelo lungenazo iimvume zophumezo lunike imvume eyaliwe, isisombululo: sebenzisa okushicilelweyo nge sh ukuba awufuni kutshintsha iimvumelwano (ngokukhawuleza kunokuya kwi tmp chmod incwadi kunye nayo yonke loo nto). Apho iskripthi senziwayo, sibiza i-Adobe installer kunye nenye into, iButterfly.

  15.   I-Ero-Sennin sitsho

    Inqaku elinomdla kakhulu! Enkosi ngokundinceda ndifunde ngakumbi malunga ne-console. Makhe sibone ukuba uyaqhuba na ukupapasha amanqaku afana nala ^^.
    Gcina, oku ngaphandle kwamathandabuzo ibhlog yam endiyithandayo !!

  16.   Amandla sitsho

    Gcina ukhumbule ukuba kunokubakho umahluko phakathi kweenguqulelo zetoliki esetyenzisiweyo. Ngokusebenzisa iskripthi ngokuthe ngqo kwi-shebang akukho ndlela yokubonisa ukuba yeyiphi na inguqulelo yetoliki enokusetyenziswa, enokuba yimfuneko. Ukuba endaweni yoko uqhuba itoliki kwaye ugqithise okushicilelweyo njengeparameter, uyazi ukuba loluphi uguqulelo lwayo oluphunyeziweyo.

    Umzekelo kwiPython, ukuba iShebang yi #!/usr/bin/python2.4 inkqubo iya kuqhuba ngokwahlukileyo kunokuba ngu-#!/usr/bin/python2.6 okanye ukuba yi#!/usr/bin/python (edla ngokuba likhonkco elingumfuziselo kuguqulelo lwePython olufakelweyo lwaza lwaqwalaselwe ngokungagqibekanga). Oku kwenzeka ngenxa yokuba iPython 2.6 inomsebenzi omtsha owawungekho kwiPython 2.4, ngoko ukubhala iskripthi esisebenzisa eso senzo ngokubonisa i shebang #!/usr/bin/python iya kusilela ukuba inkqubo inePython 2.4 kuphela efakiweyo. Endaweni yoko, unokuhlala unyanzela iskripthi ukuba siqhube ngenguqulelo yepython oyifunayo ukuba uyiqala ngo "python2.4 /path/to/script.py" okanye "python2.6 /path/to/script.py"/

    Kwiqokobhe leskripthi, kukho kwakhona umahluko phakathi kwamaqokobhe owasebenzisayo, ngoko ke ukusebenzisa #!/bin/sh kunye #!/bin/bash kunokuba neziphumo ezahlukileyo ngokuxhomekeke kwiscript. Ukuba ubhala okushicilelweyo usebenzisa iimpawu ezikhoyo kuphela kwi bash kodwa unike i #!/bin/sh shebang, okushicilelweyo kwakho kuyakusebenza kwi Linux (kuninzi lonikezelo /bin/sh luphawu lwekhonkco kwi bash) kodwa mhlawumbi iyakusilela Ezinye ii-UNIX apho i-bash ingafakwanga okanye apho i-/bin/sh ingelulo umqondiso wekhonkco kwi/bin/bash.

    Kwakhona ezinxulumene nokuphatheka, khumbula ukuba umendo oboniswe kwi-shebang uphelele, kwaye kukho amaxesha apho iitoliki zifakwe kwezinye iindawo. Umzekelo, kuqhelekile ukuba itoliki yepython ifakwe kwi /usr/local/bin/python ukuba ukhuphile kwaye uqokelele iPython endaweni yokusebenzisa ipakethe evela kunikezelo lwakho. Ukuba i-shebang yakho ngu #!/usr/bin/python, iskripthi asiyi kusebenza kwezo nkqubo. Ukuzama ukuphepha ezi ngxaki, ungasebenzisa njenge shebang "#!/usr/bin/env python" (okanye"#!/usr/bin/env sh") njengoko kuchaziwe http://en.wikipedia.org/wiki/Shebang_(Unix)#Portability

  17.   Masisebenzise iLinux sitsho

    Enkosi Jonathan! Kuhle ukubona uphawula!
    Masinwabe! UPawulos.

  18.   antonio sitsho

    Akukho ndawo endifuna ukuyazi evelayo, okanye ubuncinci andazi ukuba ndiyibeke njani kwi-injini yokukhangela, ndifuna ukwenza iskripthi esithi ngesizathu esithile xX iphumeze ukufaneleka okanye "su" umyalelo (ngumzekelo nje kodwa ziimeko ezi-2 endinokucinga ngazo) kwaye kwimeko yokufaneleka ngamanye amaxesha indicela ukuba ndifake "yon" okanye kwi "su" indibuza igama eligqithisiweyo... Ndingathanda ukuba iskripthi sikhethe ezo iinketho ngokuzenzekelayo mhlawumbi ngokugqithisa iparameter okanye ukusebenzisa indlela ethile endingayaziyo... . Enkosi ngengqalelo

    1.    Masisebenzise i-linux sitsho

      Molo Antonio! Ukuba ingxaki yakho kufuneka ufake igama lokugqithisa, andiqondi ukuba kukho isisombululo. Ngokuchanekileyo kuba linyathelo lokhuseleko, ukuze kungabikho nabani na onokufaka inkqubo.
      Ngokuphathelele ukufaneleka kunye nokuba ndithi ewe, ndicinga ukuba inokusonjululwa. Andikhumbuli ngalomzuzu eyona parameter ekufuneka isetyenziswe, kodwa fumana nje kumaphepha omntu. Vula i-terminal kwaye ufake umyalelo: ubuchule bomntu.
      Wanga! UPawulos.

  19.   UDavid MM sitsho

    Iposti entle kakhulu.
    Ndithande kakhulu - kolu ngeniso - ukuba umbuzo / amathandabuzo aphakanyisiweyo aphendulwe ngokucacileyo kwaye ngokufutshane.