Bash: Si të krijoni një skenar të ekzekutueshëm

Dua pak nga pak të vendos artikuj PërplasEpo, unë kam mjaft material për t'ju mësuar pak nga pak këshilla, për të bërë skenare, dhe shumë më tepër, në mënyrë që detyrat tona të përditshme të jenë automatike, kështu që padyshim që do të na kurseni shumë kohë

Tani do t'ju tregoj bazat, ato që gjithmonë do të duhet të dini, dhe kjo do të më ndihmojë për pjesën tjetër të tutorialeve ...

Si të krijoni një skenar .sh?

E thjeshtë ... shumë e thjeshtë

1. Hapni një terminal, në të shkruani sa vijon dhe shtypni [Hyni]:

cd $HOME && touch script.sh && chmod +x script.sh

Kjo do të jetë e mjaftueshme për të krijuar një skedar për ta skenari.sh në të tijën dosje personale.

2. Në terminal vendosni sa vijon:

cd $HOME && echo '#!/bin/bash' > script.sh && echo '# -*- ENCODING: UTF-8 -*-' >> script.sh

3. Gati, e keni gati skenarin tuaj

Nëse e hapim, do të kemi diçka si kjo:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Pas asaj rreshti të dytë, nga atje shkruhen udhëzimet.

Për shembull, ne do t'ju themi të na tregoni në një terminal «<° Linux është më i miri»

Ne do ta kishim skenarin si më poshtë:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Si të ekzekutohet ose testohet një skenar .sh?

1. Ne duhet të shkojmë në dosjen ku është skenari, në shembullin e mëparshëm do të ishte dosja jonë personale, kështu që hapim një terminal, në të shkruajmë sa vijon dhe shtypim [Hyni]:

cd $HOME

2. Tani ne e ekzekutojmë atë duke vendosur një pikë dhe një prerje (ndjekur), dhe pasuar nga emri i skenarit, që është:

./script.sh

Dhe bingo, ne tashmë e kemi atë

Bëni dhe do të shihni ...

Tani një detaj i rëndësishëm, në fund ata gjithmonë duhet të vendosin «dalje«

Dhe mirë tani, asgjë më shumë për të shtuar, vetëm prisni për udhëzime të ardhshme, këtu do të mësoni përplas HAHA

të fala


Përmbajtja e artikullit i përmbahet parimeve tona të etika editoriale. Për të raportuar një gabim klikoni këtu.

57 komente, lini tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Oscar dijo

    Faleminderit mik, unë gjithmonë isha kurioz se si të bëja një script.sh, tani është koha për të mësuar, unë do të pres për udhëzimet e radhës.

    1.    KZKG ^ Gaara <"Linux dijo

      Nah, një kënaqësi hehe
      Ju do të shihni ... pak nga pak unë do të vë tutorial Bash, për të parë nëse dikush ngazëllohet, mëson dhe ne të gjithë bëhemi më mirë HAHA.

      të fala

      1.    jose dijo

        Përshëndetje, do të kisha nevojë për ndihmën tuaj nëse mund të më ndihmoni me disa skenarë që i kam mbërthyer dhe duhet të bëj për një temë, do të doja të lidhesha me mua.
        Thank you very much in advance

  2.   kafe dijo

    Ah i vdekshem !! e madhe

    1.    KZKG ^ Gaara <"Linux dijo

      Faleminderit
      Mos harroni se ankesat ose sugjerimet do të pranohen gjithmonë mirë

  3.   targoni dijo

    Më pëlqeu postimi, sa herë që më duhet një titull skenari filloj të lundroj vetëm për të gjetur linjën: "#! / Bin / bash" në kokë (jam shumë harresë). Tani me këtë kontribut mund ta shënoj dhe thjesht kopjoj dhe ngjit

    1.    KZKG ^ Gaara <"Linux dijo

      Mos harroni se është / bash dhe / sh ... është ndryshe haha, kam kaluar një herë 2 ditë duke luftuar me një skenar që nuk funksionoi për mua siç duhej, dhe kjo ishte sepse unë vendosa sh në vend të bash

      Ndonjë pyetje që na tregoni.
      të fala

  4.   xfraniux dijo

    Jaajajajajaja dhe kjo është më e thjeshta, ju gjithashtu mund të hapni gedit ose ndonjë redaktor dhe kopjoni:

    #!/bin/bash
    # -*- ENCODING: UTF-8 -*-
    echo “<° Linux es lo mejor”
    exit

    Dhe pastaj ne i japim asaj lejet e ekzekutimit.

    të dhëna shumë të mira .. përshëndetje

    1.    KZKG ^ Gaara <"Linux dijo

      hehe po, kjo mund të ishte bërë kështu, por nuk e di ... Mendova se do të ishte më e thjeshtë të bëja një kopje / ngjitje të dy rreshtave (që mund të jetë një në të vërtetë) dhe kaq, gati skenarin me lejet e ekzekutimit dhe titullin

    2.    Bertholdous dijo

      Përshëndetje. A duhet që skriptet të ruhen gjithmonë si skedar .sh?

      Në dritare të ngjashme do të ishin skedarët .bat. Dhe sa i përket shkrimit të tyre, ato duken pak më të thjeshta.

  5.   Lucas Matias dijo

    Che shumë i mirë

    1.    KZKG ^ Gaara <"Linux dijo

      Faleminderit

  6.   arturo molina dijo

    Pres postimin tjetër dhe për momentin duke marrë shënim.

    1.    KZKG ^ Gaara <"Linux dijo

      😉
      Ndonjë sugjerim, skenar që dëshironi të bëj apo diçka tjetër? 😀

  7.   Guxim dijo

    A është ky ai që nuk di të programojë? Edhe pse është e lehtë, është programim

    1.    KZKG ^ Gaara <"Linux dijo

      HAHAHA hajde ... je ngazëllyer? … Mësoni pak Bash, do të shihni se sa e mrekullueshme është, nuk keni nevojë të dini të programoni, aq më pak

      Cfare thua ti

      1.    Guxim dijo

        Do ta bëj, sot nuk jam për atë

  8.   anonim dijo

    Në fakt, nëse skriptet do të krijohen rregullisht, vetë detyra mund të automatizohet me një skenar si më poshtë (kopjohet vetëm në $ home / bin / dhe jepen lejet e ekzekutimit)


    #!/bin/sh
    # nuevoscript
    if [ $# -eq 0]; then
    DEST=$HOME
    SNAME=script.sh
    elif [ $# -eq 1]; then
    DEST=.
    SNAME="$1"
    else
    echo "Parámetros incorrectos"
    exit -1
    fi
    echo -e '#!/bin/bash\n# -*- ENCODING: UTF-8 -*-' > "$DEST/$SNAME" && \
    chmod +x "$DEST/$SNAME"
    echo "Creado el script $DEST/$SNAME"
    exit 0

    Në këtë mënyrë, nëse vrapon skenar i ri pa parametra, krijoni $ home / script.sh, por nëse funksionon skenar i ri shkrimi tjetër, krijon ./shkrimi i motit

  9.   Ramses dijo

    Përshëndetje mik, unë do të doja të di se si mund të krijoj një autorun për një sdcard dhe që ajo të lexohet nga telefoni im me kaq android dhe që kur të ekzekutohet të filloj abd.exe plus komandën bugreport> bugreport.txt

    1.    KZKG ^ Gaara dijo

      Asnjë mik ... Unë kurrë nuk kam përdorur Android.

  10.   Neo61 dijo

    Faleminderit Gaara, doja të gjeja një vend ku të mund të mësohesha me disa skenare, mendoj se në një email që ju përmenda këtë, që është vërtet diçka që duhet ta mësoj. Unë ndoqa hapat që ju detajoni dhe gjithçka është perfekte, por nuk funksionon, unë e marr këtë:

    ./script.sh: rreshti 5: EOF i papritur gjatë kërkimit të një »» të përputhshme
    ./script.sh: rreshti 9: gabim sintaksor: fundi i skedarit nuk pritej

    Më shpjegoni se çfarë është gabimi im

    1.    KZKG ^ Gaara dijo

      Faji im, WordPress ndryshon disa detaje, shikoni përsëri kodin në postim dhe vendoseni kështu në skenarin tuaj.
      Ajo që ndodh është se:

      "Asd"

      Nuk është e njëjtë me:
      "asd"

  11.   Neo61 dijo

    Unë nuk e kuptoj, unë ende e shoh të njëjtën gjë. Ku është ndryshimi? A mund të më shpjegoni më mirë? Tani kur i jepni të ekzekutojë, del kjo rresht:
    ./script.sh: rreshti 5: °: Skedari ose direktoria nuk ekziston

    1.    KZKG ^ Gaara dijo

      Më kalo skenarin që po ekzekuton, vendos kodin këtu: http://paste.desdelinux.net
      Shikoni përsëri postimin, është se kisha harruar të klikoja butonin Azhurno

  12.   Neo61 dijo

    Përshëndetje partner:
    Unë do t'ju tregoj se po shikoja skenarin conkyrc që keni bërë për conky tuaj 2010 dhe po, është e vërtetë, simboli i diskut i përket një burimi të quajtur Poky por nuk vjen si parazgjedhje në libreOffice në Ubuntu 12.04, do të bëhu mirë, nëse e ke këtë burim, më thuaj nga mund ta shkarkoj (diçka pak e vështirë, vërtet), një gjë që kam vërejtur është se kur vendosen shkronjat e këtyre simboleve dhe font nuk ekziston në sistemi, atëherë vendos shkronjën, jo simbolin, logshtë logjike, unë tashmë kam një ide se si po funksionon gjithçka, por kam nevojë që dikush të më shpjegojë gjërat për ta kuptuar më mirë, gjithçka që bëj është me zbritje dhe unë kurrë nuk kam dhënë ndonjë programim, nuk ishte shkenca kompjuterike ajo që kam studiuar Dhe gjithashtu, ishte një herë tjetër, unë kam kompjuterin si një hobi dhe e mira është që unë jam duke punuar në një nga degët e saj, gjithçka që kam mësuar ka kam qenë autodidakt, ndaj interesimi im për dikë që, edhe pak nga pak, më drejton. këtu është edhe skenari i karrocës sime dhe unë do të shpjegoj atë që nuk marr:

    Shikoni, kur përpiqem të fus një HDD tjetër vazhdoj të marr të njëjtin sepse jep të njëjtën vlerë të temperaturës. Unë nuk i marr karakteristikat e CPU-së në sistem, më del (NULL) me shkronja të zeza, kur përpiqem të fus kalendarin që vendos në Conky se tanias në 2010 është i paorganizuar dhe zgjeron shiritin e konkive. Shikoni të shihni të gjitha përmirësimet që mund të bëni. Më pëlqen me gjerësinë që kam dhe që kalendari juaj përshtatet me atë gjerësi dhe që del gjithçka që ju thashë dhe nuk tregon, ja ku shkon:

    http://paste.desdelinux.net/4552

    –Vendosni kodin në ngjitjen tonë, kështu që komentet nuk janë aq të gjera–

  13.   GONZALO dijo

    e vërteta është se kontributi juaj është për të ardhur keq

  14.   Edgar dijo

    Përshëndetje, ma keni bërë jetën më të lehtë me këtë skenar. Faleminderit shumë sepse do të doja të dija nëse mund të më dërgoni një email ku e përshkruani pasi që unë jam një nevo në programim.
    Falënderim

    1.    KZKG ^ Gaara dijo

      Përshëndetje,
      Më mirë nuk kam qenë në gjendje të përshkruaj / shpjegoj këto rreshta kodi, çfarë nuk keni kuptuar të shpjegoni në një mënyrë tjetër?

      Po kështu, nëse keni dyshime, gjithmonë mund të kërkoni në forumin tonë: forum.desdelinux.net

      Pershendetje

  15.   Pushoni dijo

    Kontribut i mirë por mund ta përmblidhni ... Më duhet një skenar për një sai. Kjo do të thotë, kur Sai e kupton që është në bateri dhe ka 20 minuta kohë për të fikur, ai dërgon një sinjal në një pajisje dhe kjo duhet të ekzekutojë skenarin për të fikur disa servera. Unë nuk e di nëse e kam shpjeguar veten mirë ... Valdria me vënien në skenarin tuaj «mbyllje -h» ??

    Thanks !!

  16.   Jezusi Izrael Perales Martinez dijo

    Diçka tjetër për të shtuar në dosjen time të modelit: B

  17.   edwar dijo

    A mund dikush të më ndihmojë mua më duhet një skenar për ubuntu që nëse mbyllim shfletuesin e kromit, ta hapim përsëri

    Faleminderit paraprakisht

  18.   edo dijo

    Më duhet një skenar që vetëm duke e ekzekutuar do të mbishkruaj informacionin e një skedari me një tekst tjetër, a di dikush se si është?

    1.    edo dijo

      Unë tashmë e pashë që më sipër ata thonë se si ta bëjnë këtë

  19.   Dario dijo

    Shumë e mirë, e shkëlqyeshme për nipërit e mbesat e mia.
    Nje mije faleminderit. »Si dhe keni pasur shumë të rinj, duke vepruar si mësues ... do të ishte e mrekullueshme.

  20.   PC romak dijo

    E thjeshtë dhe funksionale, siç duhet të jetë.

    Faleminderit për shpërndarjen.

    Përshëndetje.

  21.   Hernan Jaramillo dijo

    Faleminderit për ndihmën tuaj. Ishte shpjegim i dobishëm, shumë i mirë.

  22.   Vicena dijo

    Faleminderit që më shërbeu. Brohoritje

  23.   Gamerz dijo

    E thjeshtë dhe efektive. Tutorial i shkëlqyeshëm për të sapoardhurit

  24.   Luis Carlos dijo

    Përshëndetje, unë di shumë pak për skenarët dhe nuk e di nëse jam duke ngatërruar koncepte, por ajo që po përpiqem të bëj është në faqen e mëposhtme të internetit:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Çështja është që unë nuk e kuptoj vërtet se si ta filloj këtë kod ose nëse kjo zëvendëson IPTABLES. Dhe nëse është që e zëvendëson atë siç do të ishte të fillonte automatikisht me OS.

    Falënderim

  25.   cris dijo

    Gaara e frikshme !!!

    Unë fillova të bëj detyrat e shtëpisë siç e shpjegove dhe funksionoi !! Faleminderit që morët kohë dhe ndani me injorantët njohuritë tuaja për të dalë nga errësira.

    😉

  26.   Luani dijo

    Përshëndetje, kam ndonjë pyetje për të bërë një skenar që krijon një përdorues, a mund të më ndihmoni?

  27.   i ri dijo

    pershendetje une kam nje pyetje me nje skedar .sh
    a keni ndonjë mënyrë që
    Të kam kontaktuar për të parë nëse po e bëj mirë?

    #! / system / bin / sh
    monto -o rinovoj, rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    mali -o rinovoj, ro /

    , Unë e drejtoj atë manualisht në terminal dhe nëse funksionon, por kur dua që skedari të ekzekutohet nuk dëshiron.

  28.   Luix dijo

    Këtë e gjeta në vivaolinux.com.br, është shumë mirë

    #! / bin / bash

    Bazuar në Gera.sh - Gera cabeçalho për skenarë

    Shkruar nga: Sandro Marcell P. Barbosa (Boa Vista - Roraima)

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Shembulli i përdorimit: emri_shkrimit my_script

    Ju gjithashtu mund të specifikoni shtrirjen, konformitetin ose interpretuesin.

    Shembull: nome_script backup.sh për përkthyesin 'sh'

    ose nome_script backup.tcl për interpretuesin 'tcl' dhe gjithashtu për ditën!

    Përcaktimi i përkthyesit mund të (zëvendësoni një tjetër!):

    INTERPRETUES = »#! / Bin / sh»

    Përmbajtja e kokës (ndrysho siç të pëlqen!):

    INFO = »##»
    KRIJUESI = »## Shkruar nga:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Po kontrollon nëse përdoruesi specifikoi emrin e shkrimit:

    nëse [$ # -eq 0]; atëherë
    echo ">>> Përdorimi: $ (emri i parë $ 0)"
    dalje
    fi
    nëse [$ # -ge 2]; atëherë
    jehona "Emri me hapësira nuk është i vlefshëm!"
    dalje
    fi

    A mundet që përdoruesi të shkruajë në direktorinë aktuale?

    nëse [! -w $ PWD]; atëherë
    jehonë "Nuk ka leje për të shkruar direktorinë aktuale!"
    dalje
    fi

    Po sikur të ketë një skript tjetër me të njëjtin emër në direktorinë aktuale?

    nëse [-f $ 1]; atëherë
    echo "Një skenar me të njëjtin emër tashmë ekziston në këtë direktori!"
    dalje
    fi

    Trupi i skenarit:

    (
    mace << FUND
    $ INTERPRETUESI

    INFO $
    $ KRIJUESI
    $ EMAIL
    $ DISTRO

    Tani shtoni komanda në rreshtat pasues =)

    Data e krijimit të këtij skenari: $ (data «+% a% d /% m /% Y») në $ (data «+% T»)

    FIN
    )> 1 dollar

    Vendosja e lejes ekzekutuese:

    nëse [-f $ 1]; atëherë
    chmod + x $ 1 2> / dev / stdout
    jehonë "Skripti $ 1 u krijua dhe lejohet të ekzekutohet!"
    fi

    Data e krijimit të këtij skenari: 29/01/2013 19:45:00

    1.    Debianistrowler dijo

      E shkëlqyeshme, funksionon në mënyrë perfekte !!!

  29.   Vicente dijo

    Tutorial shumë i mirë, i thjeshtë dhe më ka ndihmuar shumë, faleminderit

  30.   Kalichi dijo

    I dashur KZKG Unë jam një fillestar, por jam i interesuar të mësoj.
    Ju keni skenar tjetër. Ose papritmas në vendin ku unë punoj dua të hap një që është përpiluar dhe nuk mund ta shoh.
    Ndonje ide.

  31.   Kalichi dijo

    Unë kërkoj ndihmë për një skenar. Isshtë përpiluar.

  32.   cool9 dijo

    Unë kuptova për bash-in, por nëse dua të bëj një pseudonim të automatizuar nuk del

  33.   angiesarita dijo

    Faleminderit shumë për ndihmën tuaj mik.

    Do të doja të dija nëse mund të më bësh një favor të madh, më duhet të krijoj një skenar që më ndihmon të krijoj një .sum në një kohë të caktuar, por nuk di si ta parametroj. Ju mund të jeni në gjendje të më ndihmoni me disa tregues. Faleminderit dhe do të jem i vëmendshëm nëse mund të më ndihmoni.

    të fala

  34.   José dijo

    Përshëndetje, mirëmëngjesi, shikoni, unë jam duke bërë një punë në lex, kështu që unë do të doja të më ndihmoni me një skenar, me të cilin mund të ekzekutoj skedarin lex, atë që gjeneron lex (lex.yy.c) dhe skedarin e futjes së të dhënave.

    Shumë falemnderit

  35.   Wilmer Ron dijo

    lakrem falënderoj dok !!! Unë jam i ri në skenar faleminderit shumë përshëndetje Unë do të jem në vëzhgim me tutorin tuaj të ri !!!!

  36.   Karen vega dijo

    Përshëndetje!!!

    Faleminderit shumë për kontributet tuaja, unë kam filluar të hyj në unix dhe është e rrallë që dikush ta shpjegojë këtë univers të kodit në një mënyrë kaq të thjeshtë. Do të doja të të pyesja nëse me procedurën tënde mund të krijoj një skenar që më ndihmon të gjej numrin e skedarëve që jetojnë në të njëjtën rrugë dhe që t'i kopjoj në një dosje tjetër ... dikush më tha se mund t'i ruaj në një txt rruga dhe emri i dosjeve të mia, por nuk është e qartë për mua se si ta bëj atë. Unë mbetem i vëmendshëm.

    Përshëndetje!

  37.   Eibar Amaya dijo

    Përshëndetje Unë kam një VPS por kam nevojë për ndihmë për disa gjëra orita vetë Unë jam i interesuar se si të krijoj një skenar ose diçka tjetër në mënyrë që të ekzekutoj një kopje rezervë të vetë gjithçkaje që është brenda dosjes time / root dhe që rezervimi të ekzekutohet çdo 1 orë nëse unë mund të ndihmoni në atë që unë do t'ju vlerësoja shumë në këtë

    Do të të lë facebookun tim nëse dëshiron të më ndihmosh kam nevojë për shumë ndihmë

  38.   Jorge Rodriguez dijo

    krijoni një për të kontrolluar dhe monitoruar pajisje të caktuara të rrjetit në kompani
    por e bera te thjeshte

    prekni të kuqen.sh && chmod + x të kuqe.sh
    hodhi jashtë '# -- Kodimi: UTF-8 -- '>> e kuqe.sh
    jehonë 'ping 10.50.0.125 -w 5' >> red.sh
    jehona 'ping 10.50.0.80 -w 5' >> e kuqe.sh

    drejtojeni ./red.sh dhe gjobë

  39.   Guillermo dijo

    I dashur, duhet të krijoj një skenar instalimi automatik. Jam i gatshëm të paguaj për një punë të bërë mirë. Ata që janë të interesuar, më dërgoni një email tek carranzalh@gmail.com. Faleminderit

  40.   SARI dijo

    ata thith karin tim XD

  41.   Hdexz dijo

    Mirëmëngjes shoku, a mund të më ndihmoni për diçka
    Më duhet të bëj një kopje rezervë me linux të kompanisë pasi që është më e sigurt në mënyrë që viruset të mos e kapin por nuk di t'i bëj
    Unë kam nevojë për të krijuar një skenar i cili do të paketojë skedarët dhe t'i dërgojë ato në një ftp

    Unë do të vlerësoja paraprakisht shkruaj në emailin tim

    cesarloscor@gmail.com