Bash: Hoe om 'n uitvoerbare skrif te maak

Ek wil bietjie vir bietjie artikels op sit BashWel, ek het genoeg materiaal om u bietjie vir bietjie wenke te leer, skrifte te maak en nog baie meer, sodat ons daaglikse take outomaties is, en dit sal ons natuurlik baie tyd bespaar

Nou sal ek u die basiese beginsels wys, wat u altyd sal moet weet, en wat my sal help vir die res van die tutoriale 😉

Hoe maak u 'n .sh-skrif?

Eenvoudig ... baie eenvoudig 😀

1. Maak 'n terminaal oop, skryf die volgende in en druk [Tik]:

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

Dit is voldoende om 'n lêer vir hulle te skep skrif.sh in sy persoonlike vouer.

2. Sit die volgende in die terminale:

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

3. Gereed, u skrif is gereed 😀

As ons dit oopmaak, het ons so iets:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Na daardie tweede reël word die instruksies van daar af geskryf.

Ons sal u byvoorbeeld vertel om ons in 'n terminale te wys «<° Linux is die beste»😀

Ons wil die skrif soos volg hê:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Hoe kan u 'n .sh-skrif uitvoer of toets?

1. Ons moet na die map gaan waarin die script is, in die vorige voorbeeld sou dit ons persoonlike vouer wees, dus maak ons ​​'n terminaal oop, daarin skryf ons die volgende en druk [Tik]:

cd $HOME

2. Nou voer ons dit uit deur 'n punt en 'n skuinsstreep (gevolg) te plaas en gevolg deur die naam van die skrif, dit is:

./script.sh

En bingo, ons het dit al 😀

Doen dit en jy sal sien ...

Nou 'n belangrike detail, aan die einde moet hulle altyd 'verlaat«

En nou, niks meer om by te voeg nie, wag net op toekomstige tutoriale, hier sal u leer bash HAHA.

Groete


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

57 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   Oscar dijo

    Dankie vriend, ek was altyd nuuskierig oor hoe om 'n script te maak. Sh, nou is dit tyd om te leer, ek wag op die volgende tutoriale.

    1.    KZKG ^ Gaara <"Linux dijo

      Nah, 'n plesier hehe 😀
      Jy sal sien ... bietjie vir bietjie sal ek Bash-tutoriale opsit om te sien of iemand opgewonde raak, leer en ons almal word beter HAHA.

      Groete

      1.    jose dijo

        Hallo, ek sal u hulp nodig hê as u my kan help met die teks wat ek vasgesteek het en wat ek vir 'n onderwerp moet doen, ek wil graag met my in aanraking kom.
        Baie dankie by voorbaat

  2.   Pardo dijo

    Ag sterflik !! wonderlik 😉

    1.    KZKG ^ Gaara <"Linux dijo

      Dankie 😀
      Onthou dat klagtes of voorstelle altyd goed ontvang sal word 😉

  3.   seëning dijo

    Ek het van die boodskap gehou, elke keer as ek die koptekst van 'n script nodig het, begin ek net om die lyn te vind: "#! / Bin / bash" in die kop (ek is baie vergeetagtig). Nou kan ek dit met hierdie bydrae laat annoteer en net kopieer en plak 😀

    1.    KZKG ^ Gaara <"Linux dijo

      Onthou dat dit / bash en / sh is ... dit is anders haha, ek het een keer 2 dae geworstel met 'n script wat nie vir my werk soos dit hoort nie, en dit was omdat ek sh in plaas van bash gesit het put

      Enige vrae wat u ons vertel.
      Groete

  4.   xfraniux dijo

    Jaajajajajaja en dit is die eenvoudigste, u kan ook gedit of enige redakteur oopmaak en kopieer:

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

    En dan gee ons dit toestemmings vir uitvoering ...

    baie goeie gegewens .. groete

    1.    KZKG ^ Gaara <"Linux dijo

      hehe ja, dit kon so gedoen word, maar ek weet nie ... Ek het gedink dat dit eenvoudiger sou wees om 'n kopie / plak van twee reëls (wat eintlik een kan wees) te doen, en dit is dit, klaar die script met uitvoeringstoestemmings en die koptekst 😀

    2.    Agterlangs dijo

      Hallo. Moet skrifte altyd as 'n .sh-lêer gestoor word?

      In Windows is dit soortgelyk aan die .bat-lêers. En wat hul skryfwerk betref, lyk dit effens eenvoudiger.

  5.   Lucas Matthias dijo

    Baie goeie che

    1.    KZKG ^ Gaara <"Linux dijo

      Dankie 😀

  6.   arthur molina dijo

    Ek sien uit na die volgende berig en neem vir die oomblik kennis.

    1.    KZKG ^ Gaara <"Linux dijo

      ????
      Enige voorstelle, skrif wat u wil hê ek moet doen of iets? 😀

  7.   moed dijo

    Is dit die een wat nie weet hoe om te programmeer nie? Alhoewel dit maklik is, is dit programmering

    1.    KZKG ^ Gaara <"Linux dijo

      HAHAHA kom ... is jy opgewonde? ... leer bietjie Bash, jy sal sien hoe wonderlik dit is, jy hoef nie te weet hoe om te programmeer nie, ver daarvandaan 😀

      Wat sê jy?

      1.    moed dijo

        Ek sal, vandag is ek nie daarvoor nie

  8.   anoniem dijo

    Trouens, as skripte gereeld gemaak moet word, kan die taak self ook geautomatiseer word met 'n script soos die volgende (dit word slegs na $ home / bin / gekopieër en met toestemming vir uitvoering gegee)


    #!/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

    Op hierdie manier, as u hardloop nuwe skrif sonder parameters, skep $ huis / script.sh, maar as dit loop nuwe skrif ander skrif, skep ./anderskrif

  9.   Ramses dijo

    Hallo vriend, ek wil graag weet hoe ek 'n outorun vir 'n sdcard kan skep en dat dit deur my telefoon gelees word met so Android en dat ek abd.exe plus die opdrag bugreport> bugreport.txt wanneer dit uitgevoer word.

    1.    KZKG ^ Gaara dijo

      Geen idee vriend nie ... ek het nog nooit Android gebruik nie.

  10.   Neo61 dijo

    Dankie Gaara, ek wou 'n plek kry waar ek 'n paar skrifte kon leer. Ek dink dat ek dit per e-pos aan u genoem het, wat ek regtig moet leer. Ek het die stappe gevolg wat u uiteensit en alles is perfek, maar dit loop nie, ek verstaan ​​dit:

    ./script.sh: reël 5: Onverwagte EOF terwyl u na 'n bypassende "» "soek
    ./script.sh: reël 9: sintaktiese fout: die einde van die lêer is nie verwag nie

    Verduidelik my wat my fout is

    1.    KZKG ^ Gaara dijo

      My fout, WordPress verander enkele besonderhede, kyk weer na die kode in die berig en plaas dit so in u script.
      Wat gebeur is dat:

      "Asd"

      Dit is nie dieselfde as:
      "asd"

  11.   Neo61 dijo

    Ek verstaan ​​nie, ek sien dit nog steeds dieselfde. Waar is die verandering? Kan u my beter verduidelik? As u dit nou uitvoer, word hierdie lyn weergegee:
    ./script.sh: reël 5: °: Die lêer of gids bestaan ​​nie

    1.    KZKG ^ Gaara dijo

      Gee vir my die script wat u gebruik, plaas die kode hier: http://paste.desdelinux.net
      Kyk weer na die berig, dit is dat ek vergeet het om op die Update knoppie te klik click

  12.   Neo61 dijo

    Hallo maat:
    Ek sal jou vertel dat ek gekyk het na die conkyrc-skrif wat jy vir jou conky 2010 gemaak het en ja, dit is waar, die skyfsimbool behoort tot 'n bron genaamd Poky, maar dit kom nie standaard in libreOffice in Ubuntu 12.04 nie, dit sal goed wees as jy hierdie bron het , vertel my waar ek dit kan aflaai (iets wat regtig moeilik is), een ding wat ek besef het, is dat wanneer die letters van hierdie simbole geplaas word en die lettertipe nie in die stelsel bestaan ​​nie, dit die letter plaas, nie die simbool nie, Dit is logies, ek kry al 'n idee van hoe alles werk, maar ek het iemand nodig om dinge aan my te verduidelik om dit beter te verstaan, alles wat ek doen is deur aftrekking en ek het nog nooit programme gegee nie; dit was nie rekenaarwetenskap wat ek bestudeer het nie En ook, dit was 'n ander keer dat ek rekenaars as 'n stokperdjie het, en die goeie ding is dat ek in een van sy takke werk, alles wat ek geleer het, is selfonderrig, so my belangstelling in iemand wat selfs bietjie vir bietjie Ly my. hier is ook die skrif van my conky en ek sal verduidelik wat ek nie kry nie:

    Kyk, as ek 'n ander HDD probeer insit, kry ek steeds dieselfde, want dit gee dieselfde temperatuurwaarde. Ek kry nie die SVE-eienskappe in die stelsel nie, dit verskyn (NULL) met vetdruk as ek die kalender wat u in die Conky plaas, wil inbring dat tanias in 2010 ongeorganiseerd is en die conky-balk verbreed. Kyk na al die verbeterings wat u kan aanbring. Ek hou daarvan met die breedte wat ek het en dat u kalender aanpas by die breedte en dat alles wat ek u gesê het nie wys nie, daar gaan dit:

    http://paste.desdelinux.net/4552

    –Sit die kode in ons pasta, sodat die kommentaar nie so uitgebreid is nie–

  13.   Gonzalo dijo

    die waarheid is dat u bydrae betreurenswaardig is

  14.   Edgar dijo

    Hallo, u het my lewe makliker gemaak met hierdie skrif. Baie dankie, want ek wil graag weet of u vir my 'n e-pos kan stuur waarin u dit beskryf aangesien ek 'n nuwe program is.
    Dankie

    1.    KZKG ^ Gaara dijo

      Hallo,
      Dit is beter dat ek nie hierdie kode-reëls kon beskryf / verklaar nie, wat het u nie verstaan ​​om op 'n ander manier te verduidelik nie?

      As u twyfel, kan u ook altyd op ons forum: forum.desdelinux.net vra

      Groete 😀

  15.   Cesar dijo

    Mooi bydrae maar jy kan dit afrond ... Ek het 'n skrif nodig vir 'n sai. Dit wil sê, wanneer Sai besef dat hy op die battery is en 20 minute het om uit te skakel, stuur hy 'n sein na 'n toestel en moet die script uitvoer om sommige bedieners uit te skakel. Ek weet nie of ek myself goed verduidelik het nie ... Valdria met u script "shutdown -h"?

    Dankie!

  16.   Jesus Israel Perales Martinez dijo

    Iets anders om by my sjabloonmap te voeg: B

  17.   edwar dijo

    Kan iemand my help? Ek het 'n skrif vir ubuntu nodig dat as ons die chrome-blaaier sluit, dit weer oopmaak

    Dankie by voorbaat

  18.   Edo dijo

    Ek het 'n skrif nodig wat deur die uitvoering daarvan die inligting van 'n lêer met 'n ander teks sal oorskryf. Weet iemand hoe dit is?

    1.    Edo dijo

      Ek het al gesien hierbo sê hulle hoe om dit te doen

  19.   Dario dijo

    Baie goed, uitstekend vir my kleinkinders.
    Duisend dankies. »Net soos u baie jongmense gehad het, het u as onderwysers opgetree ... dit sou wonderlik wees.

  20.   Romeinse rekenaar dijo

    Eenvoudig en funksioneel, soos dit hoort.

    Dankie vir die deel.

    Groete.

  21.   Hernan Jaramillo dijo

    Dankie vir jou hulp. Dit was nuttig, baie goeie verduideliking.

  22.   vicene dijo

    Dankie dat dit my gedien het. Cheers

  23.   Gamerz dijo

    Eenvoudig en effektief. Goeie handleiding vir beginners 🙂

  24.   Luis Carlos dijo

    Hallo, ek weet baie min van skrifte en weet nie of ek konsepte verwar nie, maar wat ek probeer doen is op die volgende webblad:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Die punt is dat ek nie regtig verstaan ​​hoe ek hierdie kode moet begin of dat dit die IPTABLES vervang nie. En as dit vervang word, sou dit outomaties met die bedryfstelsel begin.

    Dankie

  25.   Cris dijo

    Geweldige Gaara !!!

    Ek het die huiswerk begin doen soos u verduidelik het en dit het gewerk !! Dankie dat u die tyd geneem het en u kennis met die onkundiges uit die duisternis gedeel het.

    ????

  26.   leo dijo

    Hallo, ek het vrae om 'n script te maak wat 'n gebruiker skep, kan u my help?

  27.   jong dijo

    hallo ek het 'n vraag met 'n .sh-lêer
    het jy enige manier waarop
    Ek het u gekontak om te sien of ek dit reg doen?

    #! / stelsel / bin / sh
    berg -o weer monteer, rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    berg -o weer monteer, ro /

    , Ek werk dit handmatig in die terminale en as dit werk, maar as ek wil hê dat die lêer moet loop, wil dit nie.

  28.   louis dijo

    Ek het hierdie gevind op vivaolinux.com.br, dit is wonderlik

    #! / bin / bash

    Gebaseer op Gera.sh - Gera cabeçalho vir skrifte

    Geskryf deur: Sandro Marcell P. Barbosa (Boa Vista - Roraima)

    E-pos: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Gebruiksvoorbeeld: scriptnaam my_skrif

    U kan ook die uitbreiding, ooreenstemming of tolk spesifiseer.

    Voorbeeld: nome_script backup.sh vir o tolk 'sh'

    of nome_script backup.tcl vir die tolk 'tcl' en ook vir die dag!

    Definieer die tolk wat u kan (vervang deur 'n ander!):

    INTERPRETER = »#! / Bin / sh»

    Koptekstinhoud (verander soos u wil!):

    INFO = »##»
    SKEPPER = »## Geskryf deur:»
    E-POS = »## E-pos: jy@correo.com»
    DISTRO = »##»

    Kontroleer of die gebruiker die scriptnaam gespesifiseer het:

    as [$ # -eq 0]; dan
    eggo ">>> Gebruik: $ (basisnaam $ 0)"
    verlaat
    fi
    as [$ # -ge 2]; dan
    eggo "Naam met spasies is nie geldig nie!"
    verlaat
    fi

    Kan die gebruiker na die huidige gids skryf?

    as [! -w $ PWD]; dan
    eggo "Geen toestemming om die huidige gids te skryf nie!"
    verlaat
    fi

    Wat as daar 'n ander skrif met dieselfde naam in die huidige gids is?

    as [-f $ 1]; dan
    eggo "'n Skrip met dieselfde naam bestaan ​​reeds in hierdie gids!"
    verlaat
    fi

    Skrifliggaam:

    (
    kat << EINDE
    $ TOLK

    $ INFO
    $ SKEPPER
    $ E-POS
    $ DISTRO

    Voeg nou opdragte op volgende reëls by =)

    Skeppingsdatum van hierdie skrif: $ (datum «+% a% d /% m /% Y») op $ (datum «+% T»)

    FIN
    )> $ 1

    Stel toestemming vir uitvoer:

    as [-f $ 1]; dan
    chmod + x $ 1 2> / dev / stdout
    eggo "Skrip $ 1 geskep en toegelaat om uit te voer!"
    fi

    Datum van skepping van hierdie draaiboek: 29/01/2013 19:45:00

    1.    Debianstrowler dijo

      Wonderlik, dit werk perfek !!!

  29.   Vicente dijo

    Baie goeie handleiding, eenvoudig en dit het my baie gehelp, dankie

  30.   calichi dijo

    Geagte KZKG Ek is 'n beginner, maar ek wil graag leer.
    U het ander teks. Of skielik op die plek waar ek werk, wil ek een oopmaak wat saamgestel is en dit nie sien nie.
    Enige idees.

  31.   calichi dijo

    Ek benodig hulp met 'n teks. Dit is saamgestel.

  32.   cool9 dijo

    Ek het die bash verstaan, maar as ek 'n outomatiese alias wil maak, kom dit nie uit nie

  33.   angiesarite dijo

    Baie dankie vir u hulp vriend.

    Ek wil graag weet of u my 'n groot guns kan bewys, ek moet 'n script skep wat my help om 'n .sum op 'n sekere tydstip te skep, maar ek weet nie hoe om dit te parameteriseer nie. U kan my dalk met 'n paar wenke help. Dankie en ek sal oplettend wees as u my kan help.

    Groete

  34.   José dijo

    Hallo, goeie middag, kyk, ek doen 'n werk in lex, dus wil ek my help met 'n script waarmee ek die lex-lêer kan uitvoer, die een wat lex (lex.yy.c) en die data-invoerlêer genereer .

    Baie dankie

  35.   wilmer ron dijo

    waterkers dankie dok !!! Ek is nuut in die script baie dankie groete Ek sal op die uitkyk wees met u nuwe tutoring !!!!

  36.   Karen vega dijo

    Hallo !!!

    Baie dankie vir u bydraes, ek begin unix raak en dit is selde dat iemand hierdie heelal van kode op so 'n eenvoudige manier verduidelik. Ek wil u vra of ek met u prosedure 'n script kan maak wat my help om 'n aantal lêers te vind wat in dieselfde pad is, en dat ek dit na 'n ander gids kopieer ... iemand het my gesê dat ek die pad en die naam van die my lêers, maar dit is nie vir my duidelik hoe dit gedoen moet word nie. Ek bly oplettend.

    Groete!

  37.   eibar amaya dijo

    Hallo, ek het 'n VPS, maar ek het self hulp nodig in orita. Ek is geïnteresseerd in hoe ek 'n script of iets kan skep, sodat ek 'n self-rugsteun kan maak van alles wat in my / root-lêergids is, en dat die rugsteun elke 1 uur loop as ek kan u help deur dat ek u daarin te veel sal waardeer

    Ek laat my my facebook agter as u my wil help, ek het baie hulp nodig 🙂

  38.   Jorge Rodriguez dijo

    skep my een om te ping en sekere netwerktoerusting in die onderneming te monitor
    maar ek het dit eenvoudig gemaak

    raak rooi.sh && chmod + x rooi.sh
    uitgegooi '# -- KODERING: UTF-8 -- '>> red.sh
    eggo 'ping 10.50.0.125 -w 5' >> red.sh
    eggo 'ping 10.50.0.80 -w 5' >> red.sh

    hardloop dit ./red.sh en fyn

  39.   Guillermo dijo

    Beste, ek moet 'n outomatiese installasieskrip skep. Ek is bereid om te betaal vir 'n werk wat goed gedoen is. Belangstellendes, stuur vir my 'n e-pos aan carranzalh@gmail.com. Dankie

  40.   sArie dijo

    hulle suig my haan XD

  41.   hdexz dijo

    Goeiemore vriend, kan u my help met iets
    Ek moet 'n rugsteun van Linux maak, aangesien dit veiliger is, sodat virusse dit nie vang nie, maar ek nie weet hoe om dit te doen nie.
    Ek moet 'n script skep wat die lêers inpak en na 'n ftp stuur

    Ek sal dit vooraf waardeer om na my e-pos te skryf

    cesarloscor@gmail.com