Bash: Kako napraviti izvršnu skriptu

Želim malo po malo da stavljam članke bashPa, imam dovoljno materijala da vas pomalo podučavam savjetima, pravim skripte i još mnogo toga, tako da su naši svakodnevni zadaci automatski, pa će nam očito uštedjeti puno vremena

Sada ću vam pokazati osnove, ono što ćete uvijek trebati znati, a to će mi pomoći u ostatku tutorijala 😉

Kako napraviti .sh skriptu?

Jednostavno ... vrlo jednostavno 😀

1. Otvorite terminal, u njega napišite sljedeće i pritisnite [Enter]:

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

To će biti dovoljno za stvaranje datoteke za njih script.sh u njegovom lična mapa.

2. U terminal stavite sljedeće:

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

3. Spremni, imate spremnu skriptu 😀

Ako ga otvorimo, imat ćemo otprilike ovo:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Nakon tog drugog retka odatle se pišu upute.

Na primjer, reći ćemo vam da nam pokažete na terminalu «<° Linux je najbolji»😀

Imali bismo skriptu kako slijedi:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Kako pokrenuti ili testirati .sh skriptu?

1. Moramo ići u mapu u kojoj je skripta, u prethodnom primjeru to bi bila naša lična mapa, pa otvorimo terminal, u nju napišemo sljedeće i pritisnemo [Enter]:

cd $HOME

2. Sada ga izvršavamo stavljanjem točke i kose crte (slijedi), a zatim imena skripte, to jest:

./script.sh

I bingo, već ga imamo 😀

Učini to i vidjet ćeš ...

Sada važan detalj, na kraju uvijek trebaju staviti «izlaz«

I dobro, sada, ništa više za dodati, samo pričekajte buduće vodiče, ovdje ćete naučiti bash HAHA.

Saludos


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

57 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Oscar rekao je

    Hvala prijatelju, uvijek sam bio znatiželjan kako napraviti script.sh, sada je vrijeme za učenje, čekat ću sljedeće upute.

    1.    KZKG ^ Gaara <"Linux rekao je

      Ne, zadovoljstvo hehe 😀
      Vidjet ćete ... malo po malo postavljat ću Bash tutorijale da vidim hoće li se netko uzbuditi, naučiti i da li ćemo svi postati bolji HAHA.

      Saludos

      1.    jose rekao je

        Zdravo, trebam vašu pomoć ako mi možete pomoći sa nekim skriptama koje sam zaglavio i moram napraviti za temu, volio bih stupiti u kontakt sa mnom.
        Puno vam hvala unapred

  2.   braon rekao je

    Ah smrtnik !! super 😉

    1.    KZKG ^ Gaara <"Linux rekao je

      Hvala 😀
      Imajte na umu da će žalbe ili prijedlozi uvijek biti dobro primljeni 😉

  3.   taregon rekao je

    Svidio mi se post, kad god mi treba zaglavlje skripte, krećem u navigaciju samo kako bih pronašao redak: "#! / Bin / bash" u zaglavlju (vrlo sam zaboravljiv). Sada s ovim prilogom mogu to zapisati i jednostavno kopirati i zalijepiti 😀

    1.    KZKG ^ Gaara <"Linux rekao je

      Sjetite se da je to / bash i / sh ... drugačije je haha, jednom sam se proveo 2 dana boreći se sa skriptom koji mi nije radio kako bi trebao, i to zato što sam stavio sh umjesto bash 😀

      Bilo kakvo pitanje koje nam kažete.
      Saludos

  4.   xfraniux rekao je

    Jaajajajajaja i ovo je najjednostavnije, takođe možete otvoriti gedit ili bilo koji editor i kopirati:

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

    A onda mu dajemo dozvole za izvršenje….

    vrlo dobri podaci .. pozdrav

    1.    KZKG ^ Gaara <"Linux rekao je

      hehe da, to se moglo i tako, ali ne znam ... mislio sam da bi bilo jednostavnije napraviti kopiranje / lijepljenje dva retka (koji zapravo mogu biti jedan) i to je to, spremi skriptu s dozvolama za izvršenje i zaglavlje

    2.    Bertholdous rekao je

      Zdravo. Da li bi se skripte uvijek trebale čuvati kao .sh datoteka?

      U Windowsima bi slična bila .bat datoteka. A što se tiče pisanja, izgledaju malo jednostavnije.

  5.   Lucas Matias rekao je

    Vrlo dobar che

    1.    KZKG ^ Gaara <"Linux rekao je

      Hvala 😀

  6.   arturo molina rekao je

    Čekam sljedeći post i za sada bilježim.

    1.    KZKG ^ Gaara <"Linux rekao je

      ????
      Neki prijedlog, skriptu koju želite da uradim ili nešto slično? 😀

  7.   hrabrost rekao je

    Je li to onaj koji ne zna kako programirati? Iako je lako, to je programiranje

    1.    KZKG ^ Gaara <"Linux rekao je

      HAHAHA hajde ... jesi li uzbuđena? ... naučite malo Basha, vidjet ćete koliko je sjajan, ne trebate znati programirati, daleko od toga 😀

      Šta kažeš?

      1.    hrabrost rekao je

        Hoću, danas nisam za to

  8.   Anónimo rekao je

    U stvari, ako će se skripte redovito stvarati, sam zadatak također može biti automatiziran skriptom poput sljedeće (kopira se samo u $ home / bin / i daje dozvole za izvršenje)


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

    Na ovaj način, ako trčite nova skripta bez parametara, kreirajte $ home / script.sh, ali ako se pokrene nova skripta druga skripta, stvara ./otherscript

  9.   ramses rekao je

    Pozdrav prijatelju, želio bih znati kako mogu stvoriti autopun za sdcard i da je čita moj telefon sa so androidom i da kad se izvrši pokrenem abd.exe plus naredba bugreport> bugreport.txt

    1.    KZKG ^ Gaara rekao je

      Nemam pojma prijatelju ... Nikad nisam koristio Android.

  10.   Neo61 rekao je

    Hvala Gaara, želio sam pronaći mjesto gdje bi me mogli naučiti neke skripte, mislim da sam vam to rekao u e-mailu, što je stvarno nešto što moram naučiti. Slijedio sam korake koje detaljno opisujete i sve je savršeno, ali se ne izvodi, shvaćam ovo:

    ./script.sh: red 5: Neočekivani EOF dok se traži odgovarajući `»
    ./script.sh: red 9: sintaktička greška: nije se očekivao kraj datoteke

    Objasni mi šta je moja greška

    1.    KZKG ^ Gaara rekao je

      Moja greška, WordPress mijenja neke detalje, pogledajte kod u postu i stavite ga ovako u svoju skriptu.
      Ono što se događa je da:

      "Asd"

      Nije isto kao:
      "asd"

  11.   Neo61 rekao je

    Ne razumijem, i dalje to isto vidim. Gdje je promjena? Možete li mi objasniti bolje? Sada kada date izvršenje, izlazi ovaj redak:
    ./script.sh: red 5: °: Datoteka ili direktorij ne postoji

    1.    KZKG ^ Gaara rekao je

      Dodaj mi skriptu koju izvodiš, stavi kod ovdje: http://paste.desdelinux.net
      Pogledajte post ponovo, to je da sam zaboravio kliknuti gumb Ažuriraj Update

  12.   Neo61 rekao je

    Zdravo partneru:
    Reći ću vam da sam gledao conkyrc skriptu koju ste napravili za svoj conky 2010 i da, istina je, simbol diska pripada izvoru koji se zove Poky, ali ne dolazi po defaultu u libreOffice u Ubuntu 12.04, bilo bi dobro da imate taj izvor , recite mi odakle ga mogu preuzeti (nešto pomalo teško, zaista), shvatila sam jednu stvar da kada se slova ovih simbola stave i font ne postoji u sistemu, tada se stavlja slovo, a ne simbol Logično je, već imam ideju kako sve funkcionira, ali trebam nekoga da mi objasni stvari kako bih to bolje razumio, sve što radim je odbitkom i nikada nisam dao nikakvo programiranje, nisam bio informatika ono što sam studirao A također, bilo je to i drugo vrijeme, računarstvo imam iz hobija, a dobra stvar je što radim u jednoj od njegovih grana, sve što sam naučio samouko je, tako da moje zanimanje za nekoga tko, čak i malo po malo, Vodi me. ovdje je i skripta mojeg conkyja, a ja ću objasniti ono što ne dobijem:

    Pazite, kad pokušam umetnuti drugi HDD, stalno dobivam isti jer daje istu vrijednost temperature. Ne dobivam karakteristike CPU-a u sistemu, pojavljuje se (NULL) podebljano, kada pokušam umetnuti kalendar koji ste stavili u Conky koji je tanias u 2010. godini neorganiziran i proširio conky bar. Pogledajte sva poboljšanja koja možete napraviti. Sviđa mi se sa širinom koju imam i što se vaš kalendar prilagođava toj širini i što sve što sam vam rekao, a ne prikazuje, izađe, evo, ide:

    http://paste.desdelinux.net/4552

    –Postavite kod u našu paste, tako da komentari nisu toliko opsežni–

  13.   GONZALO rekao je

    istina je da je za vaš doprinos vrijedno žaljenja

  14.   edgar rekao je

    Pozdrav, olakšali ste mi život ovom skriptom. Puno vam hvala što bih želio znati možete li mi poslati e-mail gdje ga opisujete jer sam nevo u ovom programiranju.
    hvala

    1.    KZKG ^ Gaara rekao je

      zdravo,
      Bolje što nisam uspio opisati / objasniti ove redove koda, što niste shvatili objasniti na drugi način?

      Isto tako, ako sumnjate, uvijek možete pitati na našem forumu: forum.desdelinux.net

      Pozdrav 😀

  15.   Cesar rekao je

    Dobar doprinos, ali mogao bi zaokružiti ... Treba mi scenarij za saija. Odnosno, kada Sai shvati da je s baterijom i ima 20 minuta da se isključi, šalje signal uređaju i taj mora izvršiti skriptu za isključivanje nekih servera. Ne znam jesam li se dobro objasnio ... Valdria s ubacivanjem u vaš skript «shutdown -h» ??

    Hvala!

  16.   Isus Izrael perales martinez rekao je

    Nešto drugo za dodati u moju mapu predloška: B

  17.   edwar rekao je

    Može li mi netko pomoći, treba mi skripta za ubuntu da je, ako zatvorimo chrome pretraživač, ponovo otvorim

    Hvala unaprijed

  18.   edo rekao je

    Trebam skriptu koja će samo njezinim izvršavanjem prepisati podatke o datoteci drugim tekstom, zna li neko kako je?

    1.    edo rekao je

      Već sam vidio da gore kažu kako se to radi

  19.   Dario rekao je

    Vrlo dobro, izvrsno za moje unuke.
    Hiljadu hvala. »Baš kao što ste imali mnogo mladih ljudi, ponašajući se kao učitelji ... bilo bi divno.

  20.   Rimski PC rekao je

    Jednostavno i funkcionalno, kako treba.

    Hvala na dijeljenju.

    Pozdrav.

  21.   Hernan Jaramillo rekao je

    Hvala na pomoći. Bilo je korisno, vrlo dobro objašnjenje.

  22.   Vicene rekao je

    Hvala što mi je poslužilo. Živjeli

  23.   Gamerz rekao je

    Jednostavno i efikasno. Odličan vodič za nove 🙂

  24.   Luis Carlos rekao je

    Pozdrav, znam vrlo malo o skriptama i ne znam zbunjujem li koncepte, ali ono što pokušavam je na sljedećoj web stranici:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Poanta je u tome što zapravo ne razumijem kako pokrenuti ovaj kod ili ako ovo zamjenjuje IPTABLES. A ako je zamijeni onako kako bi bilo, tako da se automatski pokreće sa OS-om.

    hvala

  25.   Cris rekao je

    Sjajna Gaara !!!

    Počeo sam raditi domaću zadaću kako ste objasnili i uspjela je !! Hvala vam što ste odvojili vrijeme i podijelili svoje znanje kako biste izašli iz tame sa neznalicama.

    ????

  26.   Lav rekao je

    Pozdrav, imam bilo kakvih pitanja za izradu skripte koju korisnik kreira, možete li mi pomoći?

  27.   Giovani rekao je

    zdravo imam pitanje sa .sh datotekom
    imaš li ikakav način na to
    Kontaktirao sam vas da vidim da li to radim dobro?

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

    , Pokrećem ga ručno u terminalu i ako radi, ali kad želim da se datoteka pokrene, ne želi.

  28.   Luix rekao je

    Ovu sam pronašao na vivaolinux.com.br, sjajna je

    #! / bin / bash

    Na osnovu Gera.sh - Gera cabeçalho za skripte

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

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Primjer upotrebe: skripta_ime moj_skripta

    Također možete odrediti proširenje, usklađenost ili tumač.

    Primjer: nome_script backup.sh za tumač 'sh'

    ili nome_script backup.tcl za 'tcl' tumač, a također i za taj dan!

    Definiranje tumača koji možete (zamjena za drugog!):

    TUMAČ = "#! / Bin / sh"

    Sadržaj zaglavlja (mijenjajte kako želite!):

    INFO = »##»
    KREATOR = »## Napisao:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Provjera je li korisnik naveo ime skripte:

    ako [$ # -eq 0]; onda
    echo ">>> Upotreba: $ (osnovno ime $ 0)"
    izlaz
    fi
    ako [$ # -ge 2]; onda
    echo "Ime s razmacima nije važeće!"
    izlaz
    fi

    Može li korisnik pisati u trenutni direktorij?

    ako [! -w $ PWD]; onda
    echo "Nema dozvole za pisanje trenutnog direktorija!"
    izlaz
    fi

    Što ako u trenutnom direktoriju postoji još jedna skripta s istim imenom?

    ako [-f $ 1]; onda
    echo "Skripta s istim imenom već postoji u ovom direktoriju!"
    izlaz
    fi

    Tijelo skripte:

    (
    mačka << KRAJ
    $ INTERPRETER

    $ INFO
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Sada dodajte naredbe u narednim redovima =)

    Datum kreiranja ove skripte: $ (datum «+% a% d /% m /% Y») u $ (datum «+% T»)

    FIN
    )> $ 1

    Postavljanje odobrenja za izvršenje:

    ako [-f $ 1]; onda
    chmod + x $ 1 2> / dev / stdout
    echo "Skripta $ 1 kreirana i dozvoljena za izvršavanje!"
    fi

    Datum kreiranja ove skripte: 29/01/2013 19:45:00

    1.    Debianistrowler rekao je

      Super, radi savršeno !!!

  29.   Vicente rekao je

    Vrlo dobar vodič, jednostavan i puno mi je pomogao, hvala

  30.   Calichi rekao je

    Dragi KZKG, ja sam novak, ali zanima me učenje.
    Imate drugu skriptu. Ili odjednom na mjestu na kojem radim želim otvoriti jedan koji je kompajliran i ne vidim ga.
    Bilo kakve ideje.

  31.   Calichi rekao je

    Trebam pomoć oko skripte. Sastavljen je.

  32.   cool9 rekao je

    Shvatio sam o bashu, ali ako želim napraviti automatizirani alias, to neće izaći

  33.   angiesarita rekao je

    Hvala vam puno na vašem prijatelju.

    Želio bih znati možete li mi učiniti veliku uslugu, moram stvoriti skriptu koja mi pomaže u stvaranju .sum-a u određeno vrijeme, ali ne znam kako to parameterizirati. Možda ćete mi moći pomoći oko nekih uputa. Hvala vam i bit ću pažljiv ako mi možete pomoći.

    Saludos

  34.   José rekao je

    Pozdrav, dobar dan, pogledajte, radim posao u lexu, pa bih volio ako mi možete pomoći sa skriptom pomoću koje mogu pokrenuti lex datoteku, onu koja generira lex (lex.yy.c) i datoteku za unos podataka .

    mnogo vam hvala

  35.   Wilmer Ron rekao je

    potočarka hvala doc !!! Novi sam u scenariju, hvala vam lijepa pozdrav, bit ću na oprezu s vašim novim podučavanjem !!!!

  36.   Karen vega rekao je

    Zdravo!!!

    Puno vam hvala na doprinosu, počinjem ulaziti u unix i rijetko je ko objasnio ovaj univerzum koda na tako jednostavan način. Želio bih vas pitati mogu li uz vašu proceduru napraviti skriptu koja mi pomaže pronaći n broj datoteka koje žive na istoj putanji i da ih kopiram u drugu mapu ... netko mi je rekao da u txt mogu pohraniti putanju i ime moje datoteke, ali nije mi jasno kako se to radi. I dalje sam pažljiv.

    Saludos !!

  37.   Eibar Amaya rekao je

    Pozdrav, imam VPS, ali trebam pomoć u nekim stvarima. I mene zanima. Kako da kreiram skriptu ili tako nešto, tako da pokrenem sigurnosnu kopiju svega što se nalazi u mojoj / root mapi i ta sigurnosna kopija se pokreće svakih 1 sat možete li mi pomoći u tome, previše bih vas cijenio u tome

    Ostavit ću vam svoj facebook ako mi želite pomoći Treba mi puno pomoći 🙂

  38.   Jorge Rodriguez rekao je

    stvorite mi jedan za ping i nadgledanje određene mrežne opreme u kompaniji
    ali pojednostavio sam

    dodirnite red.sh && chmod + x red.sh
    izbacio '# -- KODIRANJE: UTF-8 -- '>> red.sh
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    pokrenite ga ./red.sh i u redu

  39.   Guillermo rekao je

    Poštovani, moram stvoriti skriptu za automatsku instalaciju. Spreman sam platiti za dobro obavljen posao. Oni koji su zainteresovani, pošaljite mi e-mail na carranzalh@gmail.com. Hvala ti

  40.   izvini rekao je

    sisaju mi ​​kurac XD

  41.   HDexz rekao je

    Dobro jutro prijatelju, možeš li mi pomoći oko nečega
    Moram napraviti sigurnosnu kopiju s Linuxom kompanije jer je sigurniji da je virusi ne uhvate, ali ne znam kako to učiniti
    Moram stvoriti skriptu koja će spakirati datoteke i poslati ih na ftp

    Zahvaljujem unaprijed na moju e-poštu

    cesarloscor@gmail.com