Bash: Cum se realizează un script executabil

Vreau încetul cu încetul să pun articole BashEi bine, am suficient material pentru a vă învăța încetul cu încetul sfaturi, a crea scripturi și multe altele, astfel încât sarcinile noastre zilnice să fie automate, așa că, evident, ne va economisi mult timp 😀

Acum vă voi arăta elementele de bază, ceea ce va trebui întotdeauna să știți și asta mă va ajuta pentru restul tutorialelor 😉

Cum se face un script .sh?

Simplu ... foarte simplu 😀

1. Deschideți un terminal, în acesta scrieți următoarele și apăsați [Introduce]:

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

Acest lucru va fi suficient pentru a crea un fișier pentru ei script.sh în său dosar personal.

2. În terminal puneți următoarele:

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

3. Gata, aveți scriptul pregătit 😀

Dacă îl deschidem, vom avea așa ceva:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

După acea a doua linie, de acolo sunt scrise instrucțiunile.

De exemplu, vă vom spune să ne arătați într-un terminal «<° Linux este cel mai bun»😀

Am avea scenariul după cum urmează:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Cum se execută sau se testează un script .sh?

1. Trebuie să mergem la folderul în care se află scriptul, în exemplul anterior ar fi folderul nostru personal, așa că deschidem un terminal, în acesta scriem următoarele și apăsăm [Introduce]:

cd $HOME

2. Acum îl executăm punând un punct și o bară (urmat) și urmat de numele scriptului, adică:

./script.sh

Și bingo, îl avem deja 😀

Fă-o și vei vedea ...

Acum un detaliu important, la final ar trebui să pună întotdeauna «ieşire«

Și acum, nimic mai mult de adăugat, așteaptă doar tutoriale viitoare, aici vei învăța pocni HAHA.

În ceea ce priveşte


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Oscar el a spus

    Mulțumesc prietene, am fost mereu curios despre cum să fac un script.sh, acum este timpul să învăț, voi aștepta următoarele tutoriale.

    1.    KZKG ^ Gaara <"Linux el a spus

      Nu, o plăcere hehe 😀
      Veți vedea ... încetul cu încetul, voi pune tutoriale Bash, pentru a vedea dacă cineva se entuziasmează, învață și cu toții ne îmbunătățim HAHA.

      În ceea ce priveşte

      1.    jose el a spus

        Bună, aș avea nevoie de ajutorul tău dacă mă poți ajuta cu câteva scripturi pe care le-am blocat și trebuie să le fac pentru un subiect, mi-ar plăcea să iau legătura cu mine.
        Vă mulțumesc foarte mult în avans

  2.   maro el a spus

    Ah muritor !! minunat 😉

    1.    KZKG ^ Gaara <"Linux el a spus

      Mulțumesc 😀
      Amintiți-vă că reclamațiile sau sugestiile vor fi întotdeauna bine primite 😉

  3.   taregon el a spus

    Mi-a plăcut postarea, ori de câte ori am nevoie de un antet de script, mă apuc să navighez doar pentru a găsi linia: "#! / Bin / bash" în antet (sunt foarte uitat). Acum, cu această contribuție o pot avea adnotată și doar copiez și lipesc 😀

    1.    KZKG ^ Gaara <"Linux el a spus

      Amintiți-vă că este / bash și / sh ... este diferit haha, am petrecut o dată 2 zile luptându-mă cu un script care nu a funcționat pentru mine așa cum ar trebui, și a fost pentru că am pus sh în loc de bash 😀

      Orice întrebări pe care ni le spui.
      În ceea ce priveşte

  4.   xfraniux el a spus

    Jaajajajajaja și acesta este cel mai simplu, puteți deschide gedit sau orice editor și copiați:

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

    Și apoi îi acordăm permisiuni de execuție ....

    date foarte bune .. salutări

    1.    KZKG ^ Gaara <"Linux el a spus

      hehe da, asta s-ar fi putut face așa, dar nu știu ... m-am gândit că ar fi mai simplu să fac o copiere / lipire a două rânduri (care poate fi una de fapt) și gata, gata scriptul cu permisiunile de execuție și antetul 😀

    2.    bertholdous el a spus

      Bună ziua. Scripturile ar trebui să fie salvate întotdeauna ca fișier .sh?

      În Windows, similare ar fi fișierele .bat. Și în ceea ce privește scrierea lor, arată puțin mai simplu.

  5.   Lucas Matthias el a spus

    Foarte bine che

    1.    KZKG ^ Gaara <"Linux el a spus

      Mulțumesc 😀

  6.   arthur molina el a spus

    Aștept cu nerăbdare următoarea postare și pentru moment iau notă.

    1.    KZKG ^ Gaara <"Linux el a spus

      ????
      Aveți sugestii, scripturi pe care doriți să le fac sau ceva? 😀

  7.   Curaj el a spus

    Acesta este cel care nu știe să programeze? Deși este ușor, programează

    1.    KZKG ^ Gaara <"Linux el a spus

      HAHAHA hai ... ești încântat? ... învață puțin Bash, vei vedea cât de grozav este, nu trebuie să știi cum să programezi, departe de el it

      Ce spui?

      1.    Curaj el a spus

        O voi face, astăzi nu sunt pentru asta

  8.   anonim el a spus

    De fapt, dacă scripturile vor fi create în mod regulat, sarcina însăși ar putea fi automatizată și cu un script precum următorul (este copiat doar în $ home / bin / și i se acordă permisiuni de execuție)


    #!/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 acest fel, dacă alergi script nou fără parametri, creați $ home / script.sh, dar dacă rulează script nou alt script, creează ./othercript

  9.   Ramses el a spus

    Bună, prietene, aș vrea să știu cum pot crea o rulare automată pentru o sdcard și să fie citită de telefonul meu cu așa de Android și că atunci când este executat pornesc abd.exe plus comanda bugreport> bugreport.txt

    1.    KZKG ^ Gaara el a spus

      Nici o idee prietene ... nu am folosit niciodată Android.

  10.   Neo61 el a spus

    Mulțumesc gaara, am vrut să găsesc un loc unde să fiu învățat niște scripturi, cred că într-un e-mail ți-am menționat acest lucru, ceea ce trebuie să învăț. Am urmat pașii pe care îi detaliați și totul este perfect, dar nu rulează, obțin acest lucru:

    ./script.sh: linia 5: EOF neașteptat în timp ce căutați o potrivire `» '
    ./script.sh: linia 9: eroare sintactică: sfârșitul fișierului nu era de așteptat

    Explicați-mi care este gafa mea

    1.    KZKG ^ Gaara el a spus

      Vina mea, WordPress schimbă câteva detalii, uită-te din nou la codul din postare și pune-l așa în scriptul tău.
      Ce se întâmplă este că:

      „Asd”

      Nu este același lucru cu:
      "asd"

  11.   Neo61 el a spus

    Nu înțeleg, încă o văd la fel. Unde este schimbarea? Ai putea să-mi explici mai bine? Acum, când îi dați executare, această linie este afișată:
    ./script.sh: linia 5: °: Fișierul sau directorul nu există

    1.    KZKG ^ Gaara el a spus

      Dă-mi scriptul pe care îl rulezi, pune codul aici: http://paste.desdelinux.net
      Uită-te din nou la postare, am uitat să fac clic pe butonul Actualizare 😀

  12.   Neo61 el a spus

    Salut partener:
    Vă voi spune că mă uitam la scriptul conkyrc pe care l-ați făcut pentru conky 2010 și da, este adevărat, simbolul discului aparține unei surse numite Poky, dar nu vine în mod implicit în libreOffice în Ubuntu 12.04, ar fi fii bun, dacă ai această sursă, spune-mi de unde o pot descărca (ceva cam dificil, într-adevăr), un lucru pe care l-am realizat este că atunci când literele acestor simboluri sunt puse și fontul nu există în sistem, apoi pune litera, nu simbolul. Este logic, deja îmi fac o idee despre cum funcționează totul, dar am nevoie de cineva care să-mi explice lucrurile pentru a o înțelege mai bine, tot ce fac este prin deducție și nu am dat niciodată programare, nu am informat ceea ce am studiat și, de asemenea, a fost o altă dată, am computerul ca hobby și lucrul bun este că lucrez într-una din ramurile sale, tot ceea ce am învățat are am fost autodidact, așa că interesul meu pentru cineva care, chiar încetul cu încetul, mă ghidează. aici este, de asemenea, scenariul conky-ului meu și vă voi explica ce nu primesc:

    Uite, când încerc să introduc un alt HDD, primesc totuși același, deoarece oferă aceeași valoare a temperaturii. Nu primesc caracteristicile procesorului în sistem, acesta iese (NULL) cu caractere aldine, când încerc să introduc calendarul pe care l-ați pus în Conky că tanias în 2010 este dezorganizat și lărgește bara conky. Căutați să vedeți toate îmbunătățirile pe care le puteți face. Îmi place cu lățimea pe care o am și că calendarul tău se adaptează la acea lățime și că tot ce ți-am spus care nu se afișează iese, iată:

    http://paste.desdelinux.net/4552

    –Puneți codul în pasta noastră, astfel încât comentariile să nu fie atât de extinse–

  13.   GONZALO el a spus

    adevărul este că contribuția ta este regretabilă

  14.   Edgar el a spus

    Bună ziua, mi-ai făcut viața mai ușoară cu acest scenariu. Vă mulțumesc foarte mult pentru că aș dori să știu dacă puteți să-mi trimiteți un e-mail unde îl descrieți, deoarece sunt nevoit în programare.
    Mulţumiri

    1.    KZKG ^ Gaara el a spus

      Buna,
      Mai bine nu am putut descrie / explica aceste linii de cod, ce nu ai înțeles să explici în alt mod?

      Poate că dacă ai întrebări le poți pune oricând pe forumul nostru: forum.desdelinux. Net

      Salutări 😀

  15.   Înceta el a spus

    O contribuție drăguță, dar ai putea să o completezi ... Am nevoie de un scenariu pentru un sai. Adică, atunci când Sai își dă seama că are baterie și are 20 de minute să se oprească, el trimite un semnal către un dispozitiv și acesta trebuie să execute scriptul pentru a opri unele servere. Nu stiu daca m-am explicat bine ... Valdria cu introducerea in scriptul tau «shutdown -h» ??

    Vă mulțumim!

  16.   Iisus Israel Perales Martinez el a spus

    Altceva de adăugat în dosarul meu șablon: B

  17.   Edward el a spus

    Poate cineva să mă ajute Am nevoie de un script pentru Ubuntu care, dacă închidem browserul Chrome, îl deschidem din nou

    Mulțumesc anticipat

  18.   edo el a spus

    Am nevoie de un script care doar prin executarea acestuia va suprascrie informațiile unui fișier cu un alt text, știe cineva cum este?

    1.    edo el a spus

      Am văzut deja că mai sus spun că se face

  19.   Dario el a spus

    Foarte bine, excelent pentru nepoții mei.
    O mie de multumiri. »La fel de bine ca ai avut mulți tineri, acționând ca profesori ... ar fi minunat.

  20.   Roman PC el a spus

    Simplu și funcțional, așa cum ar trebui să fie.

    Vă mulțumim pentru distribuire.

    Salutări.

  21.   Hernan Jaramillo el a spus

    Multumesc pentru ajutor. A fost utilă, explicație foarte bună.

  22.   vicene el a spus

    Mulțumesc că m-a servit. Noroc

  23.   gamerz el a spus

    Simplu și eficient. Tutorial excelent pentru cele noi 🙂

  24.   Luis Carlos el a spus

    Bună ziua, știu foarte puțin despre scripturi și nu știu dacă sunt concepte confuze, dar ceea ce încerc să fac este în următoarea pagină web:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Ideea este că nu prea înțeleg cum să încep acest cod sau dacă acesta înlocuiește IPTABLELE. Și dacă îl înlocuiește așa cum ar fi, astfel încât să înceapă automat cu sistemul de operare.

    Mulţumiri

  25.   Cris el a spus

    Minunat Gaara !!!

    Am început să fac temele așa cum mi-ai explicat și a funcționat !! Vă mulțumim că ați luat timp și ați împărtășit cunoștințele despre ieșirea din întuneric cu ignoranții.

    ????

  26.   Leu el a spus

    Bună, am întrebări pentru a crea un script pe care îl creează un utilizator, m-ați putea ajuta?

  27.   tineri el a spus

    salut, am o întrebare cu un fișier .sh
    ai vreo cale în asta
    Te-am contactat pentru a vedea dacă merg bine?

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

    , Îl rulez manual în terminal și dacă funcționează, dar când vreau să ruleze fișierul nu vrea.

  28.   Louis el a spus

    L-am găsit pe vivaolinux.com.br, este minunat

    #! / Bin / bash

    Bazat pe Gera.sh - Gera cabeçalho pentru scripturi

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

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Exemplu de utilizare: script_name my_script

    De asemenea, puteți specifica extensia, conformitatea sau interpretul.

    Ex.: Nome_script backup.sh pentru interpretul 'sh'

    sau nome_script backup.tcl pentru interpretul „tcl” și, de asemenea, pentru o zi!

    Definind interpretul puteți (înlocui altul!):

    INTERPRETER = »#! / Bin / sh»

    Conținutul antetului (modificați după cum doriți!):

    INFO = »##»
    CREATOR = »## Scris de:»
    EMAIL = »## E-mail: tu@mail.com»
    DISTRO = »##»

    Verificarea dacă utilizatorul a specificat numele scriptului:

    dacă [$ # -eq 0]; atunci
    ecou ">>> Utilizare: $ (nume de bază $ 0)"
    ieşire
    fi
    dacă [$ # -ge 2]; atunci
    ecou "Numele cu spații nu este valid!"
    ieşire
    fi

    Utilizatorul poate scrie în directorul curent?

    dacă [! -w $ PWD]; atunci
    echo "Nu aveți permisiunea de a scrie directorul actual!"
    ieşire
    fi

    Ce se întâmplă dacă există un alt script cu același nume în directorul curent?

    dacă [-f $ 1]; atunci
    echo "Un script cu același nume există deja în acest director!"
    ieşire
    fi

    Corpul scriptului:

    (
    pisica << END
    $ INTERPRET

    $ INFO
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Acum adăugați comenzi în rândurile următoare =)

    Data creării acestui script: $ (data «+% a% d /% m /% Y») la $ (data «+% T»)

    END
    )> 1 $

    Setarea permisiunii de executare:

    dacă [-f $ 1]; atunci
    chmod + x $ 1 2> / dev / stdout
    echo "Scriptul $ 1 a fost creat și i s-a permis executarea!"
    fi

    Data creării acestui script: 29 01:2013:19

    1.    debianistrowler el a spus

      Super, funcționează perfect !!!

  29.   Vicente el a spus

    Foarte bun tutorial, simplu și m-a ajutat foarte mult, mulțumesc

  30.   calichi el a spus

    Dragă KZKG Sunt un începător, dar sunt interesat să învăț.
    Ai și alte scripte. Sau dintr-o dată în locul în care lucrez vreau să deschid unul care este compilat și nu-l pot vedea.
    Vreo idee.

  31.   calichi el a spus

    Am nevoie de ajutor cu un script. Este compilat.

  32.   cool9 el a spus

    Am înțeles despre bash, dar dacă vreau să fac un alias automat, nu iese

  33.   angiesarit el a spus

    Vă mulțumesc foarte mult pentru ajutorul dvs. prieten.

    Aș vrea să știu dacă îmi puteți face o favoare imensă, trebuie să creez un script care să mă ajute să creez o sumă la un anumit moment, dar nu știu cum să-l parametrizez. S-ar putea să mă puteți ajuta cu câteva indicații. Mulțumesc și voi fi atent dacă mă puteți ajuta.

    În ceea ce priveşte

  34.   José el a spus

    Bună ziua, bună ziua, uite, fac o treabă în lex, așa că aș vrea să mă poți ajuta cu un Script, cu care pot rula fișierul lex, cel care generează lex (lex.yy.c) și fișierul de introducere a datelor.

    Mulţumesc mult

  35.   wilmer ron el a spus

    nasturel multumesc doc !!! Sunt nou în scenariu mulțumesc foarte mult salutări Voi fi în căutarea cu noua ta îndrumare !!!!

  36.   Karen vega el a spus

    Buna ziua!

    Vă mulțumesc foarte mult pentru contribuțiile dvs., încep să intru în unix și este rar ca cineva să explice acest univers de cod într-un mod atât de simplu. Aș vrea să vă întreb dacă cu procedura dvs. pot face un script care să mă ajute să găsesc un număr de fișiere care trăiesc în aceeași cale și că le copiez într-un alt folder ... cineva mi-a spus că pot stoca într-un txt calea și numele fișierelor mele, dar nu îmi este clar cum să o fac. Rămân atent.

    Salutări!

  37.   eibar amaya el a spus

    Bună ziua am un VPS, dar am nevoie de ajutor în unele lucruri orita eu însumi sunt interesat de cum să creez un script sau ceva, astfel încât să rulez o copie de rezervă auto a tot ceea ce se află în folderul meu / rădăcină și că backupul rulează la fiecare 1 oră ai putea ajuta în asta, te-aș aprecia prea mult în asta

    Vă las facebook-ul meu dacă vreți să mă ajutați am nevoie de mult ajutor 🙂

  38.   Jorge Rodriguez el a spus

    creați-mi unul pentru a face ping și monitoriza anumite echipamente de rețea din companie
    dar am făcut-o simplă

    atingeți roșu.sh && chmod + x roșu.sh
    aruncat '# -- CODARE: UTF-8 -- '>> red.sh
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    rulați-l ./red.sh și bine

  39.   Guillermo el a spus

    Dragă, trebuie să creez un script de instalare automată. Sunt dispus să plătesc pentru o treabă bine făcută. Cei interesați, trimiteți-mi un e-mail la carranzalh@gmail.com. Multumesc

  40.   sary el a spus

    îmi suge penisul XD

  41.   hdexz el a spus

    Bună dimineața prietene, ai putea să mă ajuți cu ceva
    Trebuie să fac o copie de rezervă cu Linux a companiei, deoarece este mai sigură, astfel încât virușii să nu o prindă, dar nu știu cum să le fac
    Trebuie să creez un script care să împacheteze fișierele și să le trimită la un ftp

    Aș aprecia în prealabil să scriu pe e-mail

    cesarloscor@gmail.com