Bash: Com fer un script executable

Desitjo poc a poc anar posant articles sobre xoc, Ja que material tinc prou per anar ensenyant-los a poc a poc tips, fer scripts, i molt més, de manera que les nostres tasques quotidianes siguin automàtiques de manera que, òbviament ens estalviarà munt de temps 😀

Ara els mostraré el bàsic, el que sempre necessitaran saber, i que em servirà de suport per a la resta dels tutorials 😉

Com fer un script .sh?

Simple ... molt simple 😀

1. Obrin una terminal, en ella escriguin el següent i pressionin [Entrar]:

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

Això serà suficient perquè se'ls creï un fitxer guió.sh en el seu carpeta personal.

2. A la terminal posin el següent:

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

3. A punt, ja tenen el seu script llest 😀

Si l'obrim ens quedarà una cosa així:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Després d'aquesta segona línia, a partir d'aquí s'escriuen les instruccions.

Per exemple, li direm que ens mostri en una terminal «<° Linux és el millor»😀

Ens quedaria l'script de la forma següent:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Com executar o provar un script .sh?

1. Hem d'anar cap a la carpeta on està l'script, en l'exemple anterior seria la nostra carpeta personal, de manera que obrim una terminal, en ella escrivim el següent i pressionem [Entrar]:

cd $HOME

2. Ara el executem posant un punt i un slash (seguits), i seguit d'això el nom de l'script, és a dir:

./script.sh

I bingo, ja el tenim 😀

Feu-ho i veuran ...

Ara un detall important, a la fi sempre han de posar «sortir de«

I bé ja, res més que afegir, només que esperin els futurs tutorials, aquí aprendran colpejar OUS.

Salutacions


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Oscar va dir

    Gràcies amic, sempre vaig tenir curiositat com fer un script.sh, ara va arribar l'hora d'aprendre, estaré pendent dels propers estatuts.

    1.    KZKG ^ Gaara < "Linux va dir

      Nah, un plaer jeje 😀
      Ja veuràs ... a poc a poc aniré posant tutorials de Bash, a veure si algú es embulla, aprèn i tots ens fem millors JAJA.

      Salutacions

      1.    jose va dir

        Bones necessitaria de la teva ajuda si vostè pot per hecharme un cop de mà amb uns script que tinc atrancados i els necessito fer per a una assignatura, m'encantaria que es pusierse en contaacto amb mi.
        Moltes gràcies per endavant

  2.   marró va dir

    Ah mortal !! bonissim 😉

    1.    KZKG ^ Gaara < "Linux va dir

      gràcies 😀
      Recorda que queixes o suggeriments sempre seran ben rebudes 😉

  3.   taregon va dir

    Em gust el post, sempre que necessito la capçalera d'un script m'embarco a navevar només per trobar la línia: «#! / Bin / bash» a la capçalera (sóc molt oblidadís). Ara amb aquesta aportació podre tenerno anotat i només copiar i enganxar 😀

    1.    KZKG ^ Gaara < "Linux va dir

      Recorda que és / bash i / sh ... és diferent jaja, jo una vegada vaig estar 2 dies barallant amb un script que no em no em funcionava com devia, i era perquè vaig posar sh en lloc de bash 😀

      Qualsevol dubte ens dius.
      Salutacions

  4.   xfraniux va dir

    Jaajajajajaja i això és el més senzill, també podries obrir gedit o qualsevol editor i copiar:

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

    I després li donem permisos d'execució ....

    molt bona dada .. salutacions

    1.    KZKG ^ Gaara < "Linux va dir

      jeje SIP, es podria haver fet això així, però no sé ... vaig pensar que resultaria més simple fer copy / paste de dues línies (que pot ser una en realitat) i ja, a punt l'script amb permisos d'execució i la capçalera 😀

    2.    Bertholdous va dir

      Hola Els scripts sempre han de salvar com un fitxer .sh?

      En Windows seu similar serien els fitxers .bat. I pel que fa a la seva escriptura llueixen una mica més senzills.

  5.   Lucas Matías va dir

    Molt bo che

    1.    KZKG ^ Gaara < "Linux va dir

      gràcies 😀

  6.   artur molina va dir

    Espero els propers post i de moment prenent nota.

    1.    KZKG ^ Gaara < "Linux va dir

      ;)
      ¿Algun suggeriment, script que vulguis que faci o alguna cosa així? 😀

  7.   Valor va dir

    ¿Aquest és el que no sap programar? Encara que sigui fàcil és programar

    1.    KZKG ^ Gaara < "Linux va dir

      JAJAJA vingui ... et embullas? ... aprèn una mica de Bash, veuràs el genial que és, no cal saber programar ni de bon tros 😀

      ¿Què dius?

      1.    Valor va dir

        Ja ho faré, avui no estic per això

  8.   anònim va dir

    De fet, si van a crear-se scripts regularment, podria automatitzar la pròpia tasca també amb un script com el sigiuente (només es copia en $ home / bin / i se li donen permisos d'execució)


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

    D'aquesta manera, si s'executa nouscript sense paràmetres, crea $ Home / script.sh, Però si s'executa nouscript altrescript, crear ./otroscript

  9.   Ramsès va dir

    hola amic voldria saber com puc crear un autorun per a una sdcard i que sigui llegit pel meu telèfon amb so android i que aquest a l'executar-em iniciï abd.exe mes la comanda bugreport> bugreport.txt

    1.    KZKG ^ Gaara va dir

      Ni idea amic ... mai he fet servir Android.

  10.   Neo61 va dir

    Gràcies Gaara, volia trobar un lloc on es m'ensenyés una mica de scripts, crec que en un mail et vaig esmentar això que de veritat és una cosa que necessito aprendre. Em vaig seguir els passos que detalles i tot perfecte però no em s'executa, em surt això:

    ./script.sh: línia 5: EOF inesperat mentre es buscava un `» 'coincident
    ./script.sh: línia 9: error sintàctic: no s'esperava el final d'el fitxer

    Explicame quina és la meva ficada de pota

    1.    KZKG ^ Gaara va dir

      El meu culpa, WordPress canvia uns detalls, mira de nou el codi que està en el post i posa-ho així en el teu script.
      El que passa és que:

      «Asd»

      No és el mateix que:
      "asd"

  11.   Neo61 va dir

    No entenc, segueixo veient igual. On està el canvi? Podries explicar-me millor? Ara a el donar-li executar surt aquesta línia:
    ./script.sh: línia 5: °: No existeix el fitxer o directori

    1.    KZKG ^ Gaara va dir

      Pásame l'script que estàs executant, posa el code aquí: http://paste.desdelinux.net
      Mira de nou el post, és que havia oblidat donar clic al botó de Actualitzar 😀

  12.   Neo61 va dir

    Hola soci:
    Et diré que vaig estar veient el script conkyrc que vas fer per la teva Conky 2010 i si, és cert, el símbol del disc pertany a una font anomenada Poky però que no ve per defecte en el LibreOffice en Ubuntu 12.04, seria bo, si tens aquesta font , dir-me d'on puc descarregar-(una cosa una mica difícil la veritat), una cosa que m'he adonat és que quan es posen les lletres d'aquests símbols i en el sistema no hi ha la font llavors et posa la lletra, no el símbol, és lògic, ja m'estic fent una idea de com va funcionant tot, però necessito algú que m'expliqui les coses per entendre-ho millor, tot el que faig és per deducció i jo mai he donat res de programació, no va ser informàtica el que estudiï ia més, era una altra època, tinc la informàtica com a hobby i el bo és que estic treballant en una de les seves branques, tot el que he après ha estat de forma autodidacta, per això el meu interès en algú que, encara que sigui poc a poc, em guiï. aquí aquesta també l'script de la meva Conky i t'explico el que no em surt:

    Mira, Quan intento incertar altre hdd em segueix sortint el mateix ja que dóna el mateix valor de temperatura. No em surt a sistema les característiques de l'CPU, surt (NULL) en negreta, quan intento inserir el calendari que pusistes al Conky que Tanias el 2010 es desorganitza i s'eixampla la barra de l'Conky. Mira a veure totes les millores que li puguis fer. M'agrada amb l'ample que tinc i que el calendari teu s'adapti a aquest ample i que em surti tot el que et vaig dir que no mostra, aquí va:

    http://paste.desdelinux.net/4552

    -Posa el codi al paste nostre, així els comentaris no són tan extensos-

  13.   GONZALO va dir

    la veritat q la teva aportació és lamentable

  14.   edgar va dir

    Hola m'has facilitat la vida amb aquest script. Moltes gràcies per em gustaria saber si pots enviar-me un correu on el descriguis ja que sóc nevus en això de la programació.
    Gràcias

    1.    KZKG ^ Gaara va dir

      Hola,
      Millor no he pogut descriure / explicar aquestes línies de codi, ¿què no has entès per explicar-te d'una altra manera?

      Igual si te quedas con dudas siempre puedes preguntar en nuestro foro: foro.desdelinux.net

      Salutacions 😀

  15.   Cesar va dir

    Bona aportació però podries redondearmelo ... necessito un script per a un sai. O sigui, que quan el Sai se de compte que aquesta amb la bateria i té 20 minuts per apagar-se, aquest li mana un senyal a un aparell i aquest ha d'executar l'script perquè em apage uns servidors. No se si m'he explicat bé ... valdria amb posar a la teva script «shutdown -h» ??

    Gràcies!

  16.   Jesus israel pereres martinez va dir

    Una cosa més per afegir a la carpeta de plantilles: B

  17.   Edwar va dir

    algú em podria ajudar nesecito un script per ubuntu que si el navegador chrome el tanquem el torni obrir

    gràcies per endavant

  18.   edo va dir

    Necessito un script que amb només executar-em sobreescriure la informació d'un arxiu amb un altre text, algú sap com és?

    1.    edo va dir

      ja vaig veure que dalt diuen com fer-ho

  19.   Dario va dir

    Molt bo, per als meus néts excel·lent.
    Mil Graias. »Així com la teva haguessin molts joves, fent de professors ... .seria meravellós.

  20.   Román PC va dir

    Simple i funcional, a com ha de ser.

    Gràcies per compartir.

    Salutacions.

  21.   Hernán Jaramillo va dir

    Gràcies per la seva ajuda. em va ser útil, molt bona explicació.

  22.   Vicene va dir

    Gràcies em va servir. Salutacions

  23.   Gamerz va dir

    Senzill i eficaç. Gran tutorial per als nous 🙂

  24.   Luis Carlos va dir

    Hola, sé molt poc de scrips i no sé si estic confonent conceptes però el que intento fer és a la següent pag web:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    El punt és que no entenc molt bé com poder arrencar aquest codi o si és que això reemplaça el IPTABLES. I si és que el reemplaça com es posaria perquè arrenqui automàticament amb el SO.

    Gràcias

  25.   Cris va dir

    Boníssim Gaara !!!

    Em vaig posar a fer la tasca tal com vas explicar i va funcionar !! Gràcies per prendre't el temps i compartir amb els ignorants els teus coneixements per sortir de les tenebres.

    ;)

  26.   Lleó va dir

    hola, tinc algun dubte per fer un script que creï un usuari, em podria ajudar?

  27.   jove va dir

    hola tinc un dubte amb un archivo.sh
    tens algun manera que
    et contacti per veure si ho estic fent bé ??

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

    , L'executo manuialmente a la terminal i si funciona, però quan vull que l'arxiu s'executi no vol.

  28.   Luix va dir

    Aquest el vaig trobar a vivaolinux.com.br, és genial

    #! / Bin / bash

    Basat en Gera.sh - Gera cabeçalho per scripts

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

    Adreça electrònica: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Exemple d'ús: nom_script mi_script

    Você também podi especificar a extensão, conforme o interpretador.

    Ex .: nome_script backup.sh per o interpretador 'sh'

    ou nome_script backup.tcl per o interpretador 'tcl' i assim per jançant!

    Definindo l'interpretador pot (substituir per un altre!):

    Interpretador = »#! / Bin / sh»

    Contingut de la capçalera (alteri acord vulgui!):

    INFO = »##»
    CREADOR = »## Escrit per:»
    EMAIL = »## Correu electrònic: el teu@correu.com»
    Distro = »##»

    Verificant si l'usuari va especificar el nom de l'script:

    if [$ # -eq 0]; then
    trobo «>>> Ús: $ (basename $ 0)»
    sortir de
    fi
    if [$ # -ge 2]; then
    trobo «Nom amb espais no són vàlids!»
    sortir de
    fi

    L'usuari pot escriure al diretorio actual?

    if [! -w $ PWD]; then
    trobo «Sense permís per escriure el directori actual!»
    sortir de
    fi

    I si hi ha un altre script amb el mateix nom en el directori actual?

    if [-f $ 1]; then
    trobo «Ja hi ha un script amb el mateix nom en aquest directori!»
    sortir de
    fi

    Cos de l'script:

    (
    cat << FI
    $ interpretador

    $ INFO
    $ CREADOR
    $ EMAIL
    $ distro

    Ara afegiu comandaments en les línies subsegüents =)

    Data de Creació d'aquest script: $ (date «+% a% d /% m /% Y») a les $ (date «+% T»)

    FI
    )> $ 1

    Configurant permís d'execució:

    if [-f $ 1]; then
    chmod + x $ 1 gen> / dev / stdout
    trobo «Script $ 1 creat i amb permís d'execució!»
    fi

    Data de creació d'aquest script: 29 01:2013:19

    1.    Debianistrowler va dir

      Fantàstic, funciona a la perfecció !!!

  29.   Vicente va dir

    Molt bon tutorial, senzill i m'ha servit de molt, gràcies

  30.   Calichi va dir

    Benvolgut KZKG jo sóc novell, però estic interessat a aprendre.
    Tens altres scrip. O de sobte en el lloc on treballo vull obrir un que aquesta compilat i no aconsegueixo veure-ho.
    Alguna idea.

  31.   Calichi va dir

    Requereixo ajuda amb un script. Està compilat.

  32.   fresc9 va dir

    vaig entendre el de l'bash, però si vull fer un àlies automatitzat no em surt

  33.   angiesarita va dir

    Mil gràcies per la teva ajuda amic.

    M'agradaria saber si em pots fer un favor grandíssim, necessito crear un script que m'ajudi a crear un .sum a una hora determinada però no es com parametrizarla. És possible que em puguis ajudar amb algunes indicacions. Gràcies i estare atenta per si pots colaborarme.

    Salutacions

  34.   José va dir

    Hola bona tarda, mira estic fet un treball en lex, llavors voldria si em pots ajudar amb un Script, amb el qual pugui córrer l'arxiu de lex, el que genera lex (lex.yy.c) i l'arxiu d'entrada de dades .

    Moltes gràcies

  35.   Wilmer Ron va dir

    créixens gràcies doc !!! estic nou en això dels script moltes gràcies salutacions estaré a l'pendent amb els teus nous tut !!!!

  36.   Karen Vega va dir

    Hola!

    Moltes gràcies per les teves aportacions, estic començant a ficar-me en unix i doncs és estrany que algú expliqui de manera tan senzilla aquest univers de codi. Voldria preguntar-te si amb la teva procediment puc fer un script que m'ajudi a buscar n nombre d'arxius que viuen en una mateixa ruta, i que me'ls copiï a una altra carpeta ... algú em va dir que puc emmagatzemar en un txt la ruta i el nom de els meus arxius, però no em queda clar com fer-ho. Quedo atenta.

    Salutacions!

  37.   Eibar Amaya va dir

    Hola tinc un VPS però necessito ajuda en alguna coses orita mateix estic interessat en com crear un script o alguna cosa perquè em executi un acte backup de tot el que estigui dins de la carpeta / root i que aquest backup s'executi cada 1 hora si em podries ajudar en això et agrairia massa en això

    Et deixo el meu facebook si em vols ajudar necessito molta ajuda 🙂

  38.   Jorge Rodríguez va dir

    em creu un per fer ping i monitoritzar certs equips de xarxa a l'empresa
    però ho vaig fer senzill

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

    l'executi ./red.sh i fi

  39.   Guillermo va dir

    Benvolguts, requereixo crear un scritt d'instal·lació automàtica. Estic disposat a pagar per un treball ben fet. Els que estiguin interessats, enviar-me Correu electrònic a carranzalh@gmail.com. gràcies

  40.   Sary va dir

    em xuclen la pinga XD

  41.   Hdexz va dir

    Amic bons dies podria ajudar-me en alguna cosa
    Necessito fer un backup amb linux de l'empresa ja que és mes segur perquè no ho agafin virus però no sé com fer-los
    necessito crear un scrip el qual em empaqueti els arxius i me'ls envii a un ftp

    Li agrairia per endavant escriure al meu correu

    cesarloscor@gmail.com