Bash: Sådan oprettes et eksekverbart script

Jeg vil lidt efter lidt sætte artikler på BashNå, jeg har nok materiale til at lære dig lidt efter lidt tip, lave scripts og meget mere, så vores daglige opgaver er automatiske, så det sparer os selvfølgelig meget tid 😀

Nu vil jeg vise dig det grundlæggende, hvad du altid har brug for at vide, og det vil hjælpe mig resten af ​​vejledningerne 😉

Hvordan laver man et .sh-script?

Simpelt ... meget simpelt 😀

1. Åbn en terminal, i den skal du skrive følgende og trykke på [Gå ind]:

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

Dette vil være nok til at oprette en fil til dem script.sh i sin personlig mappe.

2. Sæt følgende i terminalen:

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

3. Klar, du har dit script klar 😀

Hvis vi åbner det, har vi noget som dette:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Efter den anden linje skrives instruktionerne derfra.

For eksempel vil vi fortælle dig at vise os i en terminal «<° Linux er det bedste»😀

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

Hvordan køres eller testes et .sh-script?

1. Vi skal gå til den mappe, hvor scriptet er, i det forrige eksempel ville det være vores personlige mappe, så vi åbner en terminal, i den skriver vi følgende og trykker på [Gå ind]:

cd $HOME

2. Nu udfører vi det ved at sætte et punkt og en skråstreg (efterfulgt) og efterfulgt af navnet på scriptet, det vil sige:

./script.sh

Og bingo, vi har det allerede 😀

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

Nu en vigtig detalje, i slutningen skal de altid sætte «frakørsel«

Og godt nu, intet mere at tilføje, bare vent på fremtidige tutorials, her vil du lære bash HAHA.

hilsen


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

57 kommentarer, lad dine

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Oscar sagde han

    Tak ven, jeg var altid nysgerrig efter, hvordan man laver et script.sh, nu er det tid til at lære, jeg venter på de næste tutorials.

    1.    KZKG ^ Gaara <"Linux sagde han

      Nej, en fornøjelse hehe 😀
      Du vil se ... lidt efter lidt lægger jeg Bash-tutorials for at se, om nogen bliver begejstrede, lærer, og vi bliver alle bedre HAHA.

      hilsen

      1.    jose sagde han

        Hej, jeg har brug for din hjælp, hvis du kan hjælpe mig med nogle scripts, som jeg har fast, og jeg skal gøre for et emne, jeg vil meget gerne komme i kontakt med mig.
        Mange tak på forhånd

  2.   Pardo sagde han

    Ah dødelig !! fantastisk 😉

    1.    KZKG ^ Gaara <"Linux sagde han

      Tak 😀
      Husk, at klager eller forslag altid vil blive modtaget godt 😉

  3.   taregon sagde han

    Jeg kunne godt lide indlægget, når jeg har brug for et scriptoverskrift, begynder jeg kun at navigere for at finde linjen: "#! / Bin / bash" i overskriften (jeg er meget glemsom). Nu med dette bidrag kan jeg få det kommenteret og bare kopiere og indsætte 😀

    1.    KZKG ^ Gaara <"Linux sagde han

      Husk at det er / bash og / sh ... det er anderledes haha, jeg brugte engang 2 dage på at kæmpe med et script, der ikke fungerede for mig som det skulle, og det var fordi jeg satte sh i stedet for bash 😀

      Eventuelle spørgsmål, du fortæller os.
      hilsen

  4.   xfraniux sagde han

    Jaajajajajaja og dette er det enkleste, du kan også åbne gedit eller en hvilken som helst editor og kopiere:

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

    Og så giver vi det eksekveringstilladelser….

    meget gode data .. hilsner

    1.    KZKG ^ Gaara <"Linux sagde han

      hehe ja, det kunne have været gjort sådan, men jeg ved det ikke ... Jeg troede, det ville være lettere at lave en kopi / indsæt af to linjer (som faktisk kan være en), og det er det, klar scriptet med eksekveringstilladelser og overskriften 😀

    2.    berholden sagde han

      Hej. Bør scripts altid gemmes som en .sh-fil?

      I windows er det lignende .bat-filerne. Og hvad angår deres skrivning, ser de lidt enklere ud.

  5.   Lucas Matthias sagde han

    Meget god che

    1.    KZKG ^ Gaara <"Linux sagde han

      Tak 😀

  6.   arthur molina sagde han

    Jeg ser frem til det næste indlæg og for øjeblikket noterer mig.

    1.    KZKG ^ Gaara <"Linux sagde han

      😉
      Eventuelle forslag, script, du vil have mig til eller noget? 😀

  7.   Courage sagde han

    Er det den der ikke ved hvordan man programmerer? Selvom det er let, er det programmering

    1.    KZKG ^ Gaara <"Linux sagde han

      HAHAHA kom nu ... er du begejstret? ... lær lidt Bash, du vil se, hvor fantastisk det er, du behøver ikke vide, hvordan man programmerer, langt fra det 😀

      Hvad siger du?

      1.    Courage sagde han

        Det vil jeg, i dag er jeg ikke for det

  8.   Anonymous sagde han

    Faktisk, hvis scripts skal oprettes regelmæssigt, kan selve opgaven også automatiseres med et script som det følgende (det kopieres kun til $ home / bin / og gives tilladelser til udførelse)


    #!/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åde, hvis du løber nyt script uden parametre, opret $ hjem / script.sh, men hvis det kører nyt script andet script, skaber ./anderskrift

  9.   Ramses sagde han

    Hej ven, jeg vil gerne vide, hvordan jeg kan oprette en autorun til et sdcard, og at det læses af min telefon med så android, og at når det udføres, starter jeg abd.exe plus kommandoen bugreport> bugreport.txt

    1.    KZKG ^ Gaara sagde han

      Ingen idé ven ... Jeg har aldrig brugt Android.

  10.   Neo61 sagde han

    Tak gaara, jeg ønskede at finde et sted, hvor jeg kunne lære nogle scripts, jeg tror, ​​at jeg i en e-mail nævnte dette for dig, hvilket virkelig er noget, jeg har brug for at lære. Jeg fulgte de trin, du beskriver, og alt er perfekt, men det kører ikke, jeg får dette:

    ./script.sh: linje 5: Uventet EOF, mens du søger efter et matchende "» "
    ./script.sh: linje 9: syntaktisk fejl: slutningen af ​​filen forventedes ikke

    Forklar mig, hvad min bommert er

    1.    KZKG ^ Gaara sagde han

      Min fejl, WordPress ændrer nogle detaljer, se igen på koden i indlægget og læg det sådan i dit script.
      Hvad der sker er, at:

      "Asd"

      Det er ikke det samme som:
      "asd"

  11.   Neo61 sagde han

    Jeg forstår det ikke, jeg ser det stadig det samme. Hvor er ændringen? Kunne du forklare mig bedre? Nu når du giver det udført, udføres denne linje:
    ./script.sh: linje 5: °: Filen eller biblioteket findes ikke

    1.    KZKG ^ Gaara sagde han

      Giv mig det script, du kører, sæt koden her: http://paste.desdelinux.net
      Se på indlægget igen, det er, at jeg havde glemt at klikke på knappen Opdater 😀

  12.   Neo61 sagde han

    Hej partner:
    Jeg vil fortælle dig, at jeg kiggede på det conkyrc-script, du lavede til din conky 2010, og ja, det er sandt, disksymbolet tilhører en kilde kaldet Poky, men det kommer ikke som standard i libreOffice i Ubuntu 12.04, det ville Vær god, hvis du har denne kilde, så fortæl mig, hvor jeg kan downloade den fra (noget lidt svært, virkelig), en ting, som jeg har indset, er at når bogstaverne i disse symboler sættes, og skrifttypen ikke findes i system, så lægger det brevet, ikke symbolet. Det er logisk, jeg får allerede en idé om, hvordan alt fungerer, men jeg har brug for nogen, der forklarer tingene for at forstå det bedre, alt hvad jeg gør er ved fradrag og jeg har aldrig givet nogen programmering, det var ikke datalogi, hvad jeg studerede. Det var også en anden gang, jeg har computing som en hobby, og det gode er, at jeg arbejder i en af ​​dens grene, alt hvad jeg har lært har været selvlært, så min interesse for nogen, der selv lidt efter lidt leder mig. her er også scriptet til min conky, og jeg forklarer, hvad jeg ikke får:

    Når jeg prøver at indsætte en anden harddisk, får jeg stadig den samme, fordi den giver den samme temperaturværdi. Jeg får ikke CPU-karakteristika i systemet, det kommer med fed skrift (NULL), når jeg prøver at indsætte den kalender, som du lægger i Conky, at tanias i 2010 er uorganiseret og udvider conky-linjen. Se for at se alle de forbedringer, du kan foretage. Jeg kan godt lide det med den bredde, jeg har, og at din kalender tilpasser sig den bredde, og at alt, hvad jeg fortalte dig, der ikke vises, kommer ud, her går det:

    http://paste.desdelinux.net/4552

    –Læg koden i vores pasta, så kommentarerne ikke er så omfattende–

  13.   GONZALO sagde han

    sandheden er, at dit bidrag er beklageligt

  14.   Edgar sagde han

    Hej, du har gjort mit liv lettere med dette script. Mange tak for jeg vil gerne vide, om du kan sende mig en e-mail, hvor du beskriver det, da jeg er en nevo i programmering.
    Tak

    1.    KZKG ^ Gaara sagde han

      Hej,
      Bedre Jeg har ikke været i stand til at beskrive / forklare disse kodelinjer, hvad har du ikke forstået at forklare på en anden måde?

      Ligeledes, hvis du er i tvivl, kan du altid spørge i vores forum: forum.desdelinux.net

      Hilsner 😀

  15.   Hold op sagde han

    Dejligt bidrag, men du kunne afrunde det ... Jeg har brug for et script til en sai. Når Sai indser, at han har batteri og har 20 minutter til at slukke, sender han et signal til en enhed, og det skal udføre scriptet for at slukke for nogle servere. Jeg ved ikke, om jeg har forklaret mig godt ... Valdria med at lægge dit script «shutdown -h» ??

    Tak!

  16.   Jesus Israel Perales Martinez sagde han

    Noget andet at tilføje til min skabelonmappe: B

  17.   Edward sagde han

    Kan nogen hjælpe mig, jeg har brug for et script til ubuntu, hvis vi lukker Chrome-browseren, skal du åbne den igen

    Tak på forhånd

  18.   edo sagde han

    Jeg har brug for et script, der bare ved at udføre det vil overskrive oplysningerne i en fil med en anden tekst, ved nogen, hvordan det er?

    1.    edo sagde han

      Jeg har allerede set, at de ovenfor siger, hvordan man gør det

  19.   Dario sagde han

    Meget god, fremragende til mine børnebørn.
    Tusind tak. »Så godt som du havde mange unge mennesker, der fungerede som lærere ... det ville være vidunderligt.

  20.   Romersk pc sagde han

    Enkelt og funktionelt, som det skal være.

    Tak fordi du delte.

    Greetings.

  21.   Hernan Jaramillo sagde han

    Tak for din hjælp. Det var nyttigt, meget god forklaring.

  22.   vicene sagde han

    Tak, det tjente mig. Skål

  23.   Gamerz sagde han

    Enkel og effektiv. Fantastisk tutorial til nybegyndere 🙂

  24.   Luis Carlos sagde han

    Hej, jeg ved meget lidt om scripts, og jeg ved ikke, om jeg forvirrer begreber, men hvad jeg prøver at gøre er på følgende webside:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Pointen er, at jeg ikke rigtig forstår, hvordan jeg starter denne kode, eller om dette erstatter IPTABLES. Og hvis det erstatter det, som det ville være, så det starter automatisk med operativsystemet.

    Tak

  25.   Cris sagde han

    Fantastisk Gaara !!!

    Jeg begyndte at lave hjemmearbejdet som du forklarede, og det fungerede !! Tak fordi du tog dig tid og delte med de uvidende din viden om at komme ud af mørket.

    😉

  26.   leo sagde han

    Hej, jeg har spørgsmål til at lave et script, som en bruger opretter, kan du hjælpe mig?

  27.   unge sagde han

    hej Jeg har et spørgsmål med en .sh-fil
    har du nogen måde det
    Jeg kontaktede dig for at se, om jeg gør det rigtigt?

    #! / 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 kører det manuelt i terminalen, og hvis det fungerer, men når jeg vil have filen til at køre, vil den ikke.

  28.   louis sagde han

    Jeg fandt denne på vivaolinux.com.br, den er fantastisk

    #! / Bin / bash

    Baseret på Gera.sh - Gera cabeçalho til scripts

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

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Brugseksempel: scriptnavn my_script

    Du kan også specificere udvidelse, overensstemmelse eller tolk.

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

    eller nome_script backup.tcl til 'tcl' tolken og også til dagen!

    Definition af tolk, du kan (erstatte en anden!):

    TOLK = »#! / Bin / sh»

    Sidehovedindhold (skift som du vil!):

    INFO = »##»
    SKABER = »## Skrevet af:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Kontrollerer, om brugeren har angivet scriptnavnet:

    hvis [$ # -eq 0]; derefter
    ekko ">>> Brug: $ (basenavn $ 0)"
    frakørsel
    fi
    hvis [$ # -ge 2]; derefter
    ekko "Navn med mellemrum er ikke gyldigt!"
    frakørsel
    fi

    Kan brugeren skrive til det aktuelle bibliotek?

    hvis [! -w $ PWD]; derefter
    ekko "Ingen tilladelse til at skrive den aktuelle mappe!"
    frakørsel
    fi

    Hvad hvis der er et andet script med samme navn i den aktuelle mappe?

    hvis [-f $ 1]; derefter
    ekko "Der findes allerede et script med samme navn i denne mappe!"
    frakørsel
    fi

    Script-krop:

    (
    kat << SLUT
    $ TOLK

    $ INFO
    $ SKABER
    $ EMAIL
    $ DISTRO

    Tilføj nu kommandoer på efterfølgende linjer =)

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

    FIN
    )> $ 1

    Indstilling af eksekveringstilladelse:

    hvis [-f $ 1]; derefter
    chmod + x $ 1 2> / dev / stdout
    ekko "Script $ 1 oprettet og tilladt at udføre!"
    fi

    Oprettelsesdato for dette script: 29/01/2013 19:45:00

    1.    Debianstrowler sagde han

      Fantastisk, det fungerer perfekt !!!

  29.   Vicente sagde han

    Meget god tutorial, enkel og det har hjulpet mig meget, tak

  30.   calichi sagde han

    Kære KZKG Jeg er nybegynder, men jeg er interesseret i at lære.
    Du har et andet scrip. Eller pludselig på det sted, hvor jeg arbejder, vil jeg åbne en, der er samlet, og jeg kan ikke se den.
    Nogle ideer.

  31.   calichi sagde han

    Jeg har brug for hjælp til et script. Det er samlet.

  32.   cool9 sagde han

    Jeg forstod om bash, men hvis jeg vil lave et automatiseret alias, kommer det ikke ud

  33.   angiesarite sagde han

    Mange tak for din hjælp ven.

    Jeg vil gerne vide, om du kan gøre mig en kæmpe tjeneste, jeg skal oprette et script, der hjælper mig med at oprette et .sum på et bestemt tidspunkt, men jeg ved ikke, hvordan jeg skal parametrere det. Du kan muligvis hjælpe mig med nogle tip. Tak, og jeg vil være opmærksom, hvis du kan hjælpe mig.

    hilsen

  34.   José sagde han

    Hej god eftermiddag, se, jeg laver et job i lex, så jeg vil gerne have, hvis du kan hjælpe mig med et script, som jeg kan køre lex-filen med, den der genererer lex (lex.yy.c) og datainputfilen .

    Mange tak

  35.   wilmer ron sagde han

    brøndkarse tak dok !!! Jeg er ny på scriptet, mange tak, hilsner, jeg vil være på udkig med din nye vejledning !!!!

  36.   Karen vega sagde han

    Hej!!!

    Mange tak for dine bidrag, jeg begynder at komme ind i unix, og det er sjældent, at nogen forklarer dette kodeunivers på en så enkel måde. Jeg vil gerne spørge dig, om jeg med din procedure kan lave et script, der hjælper mig med at finde n antal filer, der lever i samme sti, og at jeg kopierer dem til en anden mappe ... nogen fortalte mig, at jeg i en txt kan gemme stien og navnet på mine filer, men det er ikke klart for mig, hvordan man gør det. Jeg er opmærksom.

    Greetings!

  37.   eibar amaya sagde han

    Hej Jeg har en VPS, men jeg har brug for hjælp til nogle ting orita selv. Jeg er interesseret i, hvordan jeg opretter et script eller noget, så jeg kører en selvsikkerhedskopi af alt, hvad der er i min / rodmappe, og at sikkerhedskopien kører hver 1. time, hvis jeg kunne du hjælpe med at jeg ville sætte pris på dig for meget i det

    Jeg efterlader dig min facebook, hvis du vil hjælpe mig, jeg har brug for en masse hjælp 🙂

  38.   Jorge Rodriguez sagde han

    skab mig en til at pinge og overvåge bestemt netværksudstyr i virksomheden
    men jeg gjorde det enkelt

    tryk på red.sh && chmod + x red.sh
    smed ud '# -- KODNING: UTF-8 -- '>> red.sh
    ekko 'ping 10.50.0.125 -w 5' >> red.sh
    ekko 'ping 10.50.0.80 -w 5' >> red.sh

    kør det ./red.sh og fint

  39.   Bill sagde han

    Kære, jeg har brug for at oprette et automatisk installationsscript. Jeg er villig til at betale for et godt udført arbejde. De, der er interesserede, send mig en e-mail til carranzalh@gmail.com. tak skal du have

  40.   sary sagde han

    de suger min pik XD

  41.   hdexz sagde han

    Godmorgen ven, kan du hjælpe mig med noget
    Jeg har brug for at tage en sikkerhedskopi med Linux af virksomheden, da det er mere sikkert, så vira ikke fanger det, men jeg ved ikke, hvordan man gør det
    Jeg er nødt til at oprette et script, der pakker filerne og sender dem til en ftp

    Jeg vil på forhånd sætte pris på at skrive til min e-mail

    cesarloscor@gmail.com