Bash: Hvordan lage et kjørbart skript

Jeg vil litt etter litt sette artikler på BashVel, jeg har nok materiale til å lære deg litt etter litt tips, lage manus og mye mer, slik at våre daglige oppgaver blir automatiske, så åpenbart vil det spare oss mye tid 😀

Nå skal jeg vise deg det grunnleggende, hva du alltid trenger å vite, og som vil hjelpe meg resten av veiledningen 😉

Hvordan lage et .sh-skript?

Enkelt ... veldig enkelt 😀

1. Åpne en terminal, i den skriver du følgende og trykker på [Tast inn]:

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

Dette vil være nok til å lage en fil for dem script.sh i sin personlig mappe.

2. I terminalen setter du følgende:

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

3. Klar, du har skriptet ditt klart 😀

Hvis vi åpner den, vil vi ha noe slikt:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Etter den andre linjen, derfra, er instruksjonene skrevet.

For eksempel vil vi fortelle deg å vise oss i en terminal «<° Linux er best»😀

Vi vil ha skriptet som følger:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Hvordan kjøre eller teste et .sh-skript?

1. Vi må gå til mappen der skriptet er, i forrige eksempel ville det være vår personlige mappe, så vi åpner en terminal, i den skriver vi følgende og trykker [Tast inn]:

cd $HOME

2. Nå utfører vi det ved å sette et punkt og en skråstrek (fulgt), og etterfulgt av navnet på skriptet, det vil si:

./script.sh

Og bingo, vi har det allerede 😀

Gjør det, så ser du ...

Nå en viktig detalj, til slutt bør de alltid sette «avslutte«

Og vel nå, ingenting mer å legge til, bare vent på fremtidige opplæringsprogrammer, her vil du lære bash HA HA.

Hilsen


57 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   oscar sa

    Takk venn, jeg var alltid nysgjerrig på hvordan jeg lager et script.sh, nå er det på tide å lære, jeg venter på neste opplæring.

    1.    KZKG ^ Gaara <"Linux sa

      Nei, en glede hehe 😀
      Du får se ... litt etter litt legger jeg Bash-opplæringsprogrammer for å se om noen blir begeistret, lærer og vi blir bedre HAHA.

      Hilsen

      1.    jose sa

        Hei, jeg trenger hjelp hvis du kan hjelpe meg med noen skript som jeg har satt fast og jeg trenger å gjøre for et emne. Jeg vil gjerne ta kontakt med meg.
        Tusen takk på forhånd

  2.   Pardo sa

    Ah dødelig !! flott 😉

    1.    KZKG ^ Gaara <"Linux sa

      Takk 😀
      Husk at klager eller forslag alltid vil bli godt mottatt 😉

  3.   taregon sa

    Jeg likte innlegget, når jeg trenger et skriptoverskrift begynner jeg å navigere bare for å finne linjen: "#! / Bin / bash" i overskriften (jeg er veldig glemsom). Nå med dette bidraget kan jeg få det kommentert og bare kopiere og lime inn 😀

    1.    KZKG ^ Gaara <"Linux sa

      Husk at det er / bash og / sh ... det er annerledes haha, jeg brukte en gang 2 dager på å kjempe med et skript som ikke fungerte for meg som det skulle, og det var fordi jeg la sh i stedet for bash 😀

      Eventuelle spørsmål du forteller oss.
      Hilsen

  4.   xfraniux sa

    Jaajajajajaja og dette er det enkleste, du kan også åpne gedit eller en hvilken som helst redaktør og kopiere:

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

    Og så gir vi det utførelsestillatelser….

    veldig gode data .. hilsener

    1.    KZKG ^ Gaara <"Linux sa

      hehe ja, det kunne ha blitt gjort slik, men jeg vet ikke ... Jeg trodde det ville være enklere å lage en kopi / lim inn to linjer (som faktisk kan være en) og det er det, klar skriptet med utførelsestillatelser og overskriften 😀

    2.    Kerthold sa

      Hei. Bør skript alltid lagres som en .sh-fil?

      I windows er det lignende .bat-filene. Og når det gjelder skrivingen, ser de litt enklere ut.

  5.   Lucas Matthias sa

    Veldig bra che

    1.    KZKG ^ Gaara <"Linux sa

      Takk 😀

  6.   arthur molina sa

    Jeg ser frem til neste innlegg og for øyeblikket tar det til etterretning.

    1.    KZKG ^ Gaara <"Linux sa

      ????
      Noen forslag, skript du vil at jeg skal gjøre eller noe? 😀

  7.   Courage sa

    Er dette den som ikke vet hvordan man skal programmere? Selv om det er enkelt, er det programmering

    1.    KZKG ^ Gaara <"Linux sa

      HAHAHA kom igjen ... er du spent? ... Lær litt Bash, du vil se hvor flott det er, du trenger ikke å vite hvordan du programmerer, langt fra det 😀

      Hva sier du?

      1.    Courage sa

        Det vil jeg, i dag er jeg ikke for det

  8.   anonym sa

    Faktisk, hvis man skal lage skript regelmessig, kan selve oppgaven også automatiseres med et skript som det følgende (det kopieres bare til $ home / bin / og gis utførelsestillatelser)


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

    På denne måten, hvis du løper nytt manus uten parametere, opprett $ hjem / script.sh, men hvis den går nytt manus annet manus, skaper ./anderskrift

  9.   Ramses sa

    Hei venn, jeg vil gjerne vite hvordan jeg kan lage en autorun for et SD-kort og at det blir lest av telefonen min med så android, og at når den kjøres, starter jeg abd.exe pluss kommandoen bugreport> bugreport.txt

    1.    KZKG ^ Gaara sa

      Ingen idé venn ... Jeg har aldri brukt Android.

  10.   Neo61 sa

    Takk Gaara, jeg ønsket å finne et sted hvor jeg kunne bli undervist i noen manus, jeg tror at jeg i en e-post nevnte dette for deg, noe som virkelig er noe jeg trenger å lære. Jeg fulgte trinnene du detaljerer, og alt er perfekt, men det går ikke, jeg får dette:

    ./script.sh: linje 5: Uventet EOF mens du søker etter en matchende "» "
    ./script.sh: linje 9: syntaktisk feil: slutten på filen var ikke forventet

    Forklar meg hva feilen min er

    1.    KZKG ^ Gaara sa

      Min feil, WordPress endrer noen detaljer, se igjen på koden i innlegget og legg det slik i skriptet ditt.
      Det som skjer er at:

      "Asd"

      Det er ikke det samme som:
      "asd"

  11.   Neo61 sa

    Jeg forstår ikke, jeg ser det fortsatt det samme. Hvor er endringen? Kan du forklare meg bedre? Nå når du gir den utført, kommer denne linjen ut:
    ./script.sh: linje 5: °: Filen eller katalogen eksisterer ikke

    1.    KZKG ^ Gaara sa

      Gi meg skriptet du kjører, legg koden her: http://paste.desdelinux.net
      Se på innlegget igjen, det er at jeg hadde glemt å klikke på Oppdater-knappen 😀

  12.   Neo61 sa

    Hei partner:
    Jeg vil fortelle deg at jeg så på conkyrc-skriptet du laget for din conky 2010, og hvis det er sant, disksymbolet tilhører en kilde som heter Poky, men det kommer ikke som standard i libreOffice i Ubuntu 12.04, ville det være bra hvis du har denne kilden , fortell meg hvor jeg kan laste det ned fra (noe litt vanskelig, egentlig), en ting jeg har lagt merke til er at når bokstavene til disse symbolene blir satt og skriften ikke finnes i systemet, setter den bokstaven, ikke symbolet, Det er logisk, jeg har allerede fått en ide om hvordan alt fungerer, men jeg trenger noen som kan forklare ting for meg for å forstå det bedre, alt jeg gjør er ved fradrag og jeg har aldri gitt noen programmering, det var ikke informatikk det jeg studerte Og også, det var en annen gang, jeg har databehandling som en hobby, og det gode er at jeg jobber i en av dens grener, alt jeg har lært har vært selvlært, så min interesse for noen som, litt etter litt, LED meg. her er også skriptet til min conky, og jeg skal forklare hva jeg ikke får:

    Når jeg prøver å sette inn en annen HDD, får jeg fortsatt den samme fordi den gir den samme temperaturverdien. Jeg får ikke CPU-egenskapene i systemet, det kommer ut (NULL) med fet skrift, når jeg prøver å sette inn kalenderen som du legger i Conky at tanias i 2010 er uorganisert og utvider conky-linjen. Se for å se alle forbedringene du kan gjøre. Jeg liker det med bredden jeg har, og at kalenderen din tilpasser seg den bredden, og at alt jeg sa deg ikke viser, der går det:

    http://paste.desdelinux.net/4552

    –Legg koden i limen vår, så kommentarene ikke er så omfattende–

  13.   GONZALO sa

    sannheten er at ditt bidrag er beklagelig

  14.   edgar sa

    Hei, du har gjort livet mitt lettere med dette skriptet. Tusen takk for at jeg vil vite om du kan sende meg en e-post der du beskriver det siden jeg er en nevo i programmering.
    Takk

    1.    KZKG ^ Gaara sa

      Hei,
      Bedre Jeg har ikke klart å beskrive / forklare disse kodelinjene, hva har du ikke forstått å forklare på en annen måte?

      Kanskje hvis du har spørsmål kan du alltid stille i vårt forum: forum.desdelinux. Net

      Hilsen 😀

  15.   Slutt sa

    Godt bidrag, men du kan avrunde det ... Jeg trenger et skript for en sai. Det vil si at når Sai innser at den bruker batteri og har 20 minutter på seg å sende, sender den et signal til en enhet, og den må utføre skriptet for å slå av noen servere. Jeg vet ikke om jeg har forklart meg godt ... Valdria med å legge inn skriptet ditt «shutdown -h» ??

    Takk!

  16.   Jesus Israel Perales Martinez sa

    Noe annet å legge til i malmappen min: B

  17.   Edward sa

    Kan noen hjelpe meg, jeg trenger et skript for ubuntu at hvis vi lukker kromleseren, åpner du den igjen

    Takk på forhånd

  18.   Edo sa

    Jeg trenger et skript som bare ved å utføre det vil overskrive informasjonen til en fil med en annen tekst, er det noen som vet hvordan det er?

    1.    Edo sa

      Jeg så allerede at over sier de hvordan de skal gjøre det

  19.   Dario sa

    Veldig bra, utmerket for barnebarna mine.
    Tusen takk. »I tillegg til at du hadde mange unge mennesker, fungerte du som lærere ... det ville være fantastisk.

  20.   Romersk PC sa

    Enkelt og funksjonelt, som det skal være.

    Takk for at du delte.

    Hilsener.

  21.   Hernan Jaramillo sa

    Takk for hjelpen. Det var nyttig, veldig god forklaring.

  22.   vicene sa

    Takk, det serverte meg. Jubel

  23.   gamerz sa

    Enkelt og effektivt. Flott opplæring for nybegynnere 🙂

  24.   Luis Carlos sa

    Hei, jeg vet veldig lite om skript, og jeg vet ikke om jeg forvirrer konsepter, men det jeg prøver å gjøre er på følgende webside:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Poenget er at jeg ikke forstår hvordan jeg skal starte denne koden, eller om dette erstatter IPTABLES. Og hvis det er at den erstatter den slik den ville blitt satt slik at den starter automatisk med operativsystemet.

    Takk

  25.   Cris sa

    Veldig bra Gaara !!!

    Jeg begynte å gjøre leksene som du forklarte, og det fungerte !! Takk for at du tok deg tid og delte med de uvitende din kunnskap for å komme deg ut av mørket.

    ????

  26.   leo sa

    Hei, jeg har spørsmål om å lage et skript som en bruker oppretter, kan du hjelpe meg?

  27.   Young sa

    hei jeg har et spørsmål med en .sh fil
    har du noen måte det
    Jeg kontaktet deg for å se om jeg gjør det riktig?

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

    , Jeg kjører den manuelt i terminalen, og hvis den fungerer, men når jeg vil at filen skal kjøre, vil den ikke.

  28.   louis sa

    Jeg fant denne på vivaolinux.com.br, den er flott

    #! / Bin / bash

    Basert på Gera.sh - Gera cabeçalho for manus

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

    E-post: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Brukseksempel: script_name my_script

    Du kan også spesifisere utvidelse, samsvar eller tolk.

    Eks.: Nome_script backup.sh for tolk 'sh'

    ou nome_script backup.tcl for 'tcl' tolk og også for dagen!

    Definere tolk du kan (erstatte en annen!):

    TOLK = »#! / Bin / sh»

    Toppinnhold (endre som du vil!):

    INFO = »##»
    SKAPER = »## Skrevet av:»
    E-POST = »## E-post: you@correo.com»
    DISTRO = »##»

    Kontrollerer om brukeren spesifiserte skriptnavnet:

    hvis [$ # -eq 0]; deretter
    ekko ">>> Bruk: $ (grunnnavn $ 0)"
    avslutte
    fi
    hvis [$ # -ge 2]; deretter
    ekko "Navn med mellomrom er ikke gyldig!"
    avslutte
    fi

    Kan brukeren skrive til gjeldende katalog?

    hvis [! -w $ PWD]; deretter
    ekko "Ingen tillatelse til å skrive den nåværende katalogen!"
    avslutte
    fi

    Hva om det er et annet skript med samme navn i gjeldende katalog?

    hvis [-f $ 1]; deretter
    ekko "Et skript med samme navn finnes allerede i denne katalogen!"
    avslutte
    fi

    Skripttekst:

    (
    katt << SLUTT
    $ TOLK

    $ INFO
    $ SKAPER
    $ EMAIL
    $ DISTRO

    Legg nå til kommandoer på påfølgende linjer =)

    Opprettelsesdato for dette skriptet: $ (dato «+% a% d /% m /% Y») ved $ (dato «+% T»)

    END
    )> $ 1

    Innstilling av gjennomføringstillatelse

    hvis [-f $ 1]; deretter
    chmod + x $ 1 2> / dev / stdout
    ekko "Skript $ 1 opprettet og tillatt å utføre!"
    fi

    Opprettelsesdato for dette skriptet: 29/01/2013 19:45:00

    1.    debianistrowler sa

      Flott, det fungerer perfekt !!!

  29.   Vicente sa

    Veldig god opplæring, enkel og det har hjulpet meg mye, takk

  30.   calichi sa

    Kjære KZKG Jeg er nybegynner, men jeg er interessert i å lære.
    Du har andre skripter. Eller plutselig på stedet der jeg jobber, vil jeg åpne en som er samlet, og jeg kan ikke se den.
    Noen ideer.

  31.   calichi sa

    Jeg trenger hjelp med et manus. Den er samlet.

  32.   cool9 sa

    Jeg forsto om bash, men hvis jeg vil lage et automatisert alias, kommer det ikke ut

  33.   angisaritt sa

    Tusen takk for hjelpen din.

    Jeg vil gjerne vite om du kan gjøre meg en enorm tjeneste, jeg må lage et skript som hjelper meg med å lage et .sum på et bestemt tidspunkt, men jeg vet ikke hvordan jeg skal parameterisere det. Du kan kanskje hjelpe meg med noen tips. Takk, og jeg vil være oppmerksom hvis du kan hjelpe meg.

    Hilsen

  34.   José sa

    Hei, god ettermiddag, se, jeg gjør en jobb i lex, så jeg vil gjerne hjelpe deg med et skript som jeg kan kjøre lex-filen med, den som genererer lex (lex.yy.c) og datainndatafilen .

    Tusen takk

  35.   wilmer ron sa

    brønnkarse takk dok !!! Jeg er ny i manuset, tusen takk hilsener, jeg vil være på utkikk etter din nye veiledning !!!!

  36.   Karen vega sa

    Hallo!!!

    Tusen takk for dine bidrag, jeg begynner å komme inn i unix, og det er sjelden noen forklarer dette universet av kode på en så enkel måte. Jeg vil spørre deg om jeg med fremgangsmåten kan lage et skript som hjelper meg å finne antall filer som lever i samme bane, og at jeg kopierer dem til en annen mappe ... noen fortalte meg at jeg kan lagre banen og navnet på filene mine, men det er ikke klart for meg hvordan jeg gjør det. Jeg er fortsatt oppmerksom.

    Hilsener !!

  37.   eibar amaya sa

    Hei, jeg har en VPS, men jeg trenger hjelp til noen ting orita selv. Jeg er interessert i hvordan jeg lager et skript eller noe slik at jeg kjører en selvsikkerhetskopi av alt som er i / root-mappen min, og at sikkerhetskopien går hver 1. time hvis jeg kan du hjelpe til med at jeg setter pris på deg for mye i det

    Jeg legger igjen facebooken min hvis du vil hjelpe meg, jeg trenger mye hjelp 🙂

  38.   Jorge Rodriguez sa

    lag meg en til å pinge og overvåke bestemt nettverksutstyr i selskapet
    men jeg gjorde det enkelt

    trykk på red.sh && chmod + x red.sh
    kastet ut '# -- KODING: UTF-8 -- '>> red.sh
    ekko 'ping 10.50.0.125 -w 5' >> red.sh
    ekko 'ping 10.50.0.80 -w 5' >> red.sh

    kjør det ./red.sh og greit

  39.   Bill sa

    Kjære, jeg må lage et automatisk installasjonsskript. Jeg er villig til å betale for en godt utført jobb. De som er interesserte, send meg en e-post til carranzalh@gmail.com. Takk skal du ha

  40.   sry sa

    de suger kuk min XD

  41.   hdexz sa

    God morgen venn, kan du hjelpe meg med noe
    Jeg må ta en sikkerhetskopi med Linux av selskapet siden det er tryggere slik at virus ikke fanger det, men jeg vet ikke hvordan jeg skal gjøre det
    Jeg må lage et skript som vil pakke filene og sende dem til en ftp

    Jeg vil sette pris på på forhånd å skrive til e-posten min

    cesarloscor@gmail.com