Categorías: Tutoriales

Lanzar un Script en Linux de cuatro maneras diferentes

Hace un tiempo Nacho López publicó una estupenda entrada titulada Bash – Mi pequeño manual de referencia [Cheat Sheet], que si no habéis tenido ocasión de leer os recomiendo hacerlo.

Y es que en determinadas ocasiones nos interesa lanzar un Script (de los que hemos podido aprender a través de esa entrada) de una manera determinada. A continuación os propongo cuatros formas de lanzar un Script en nuestro sistema Linux:

  1. Ejecutar el Script usando directamente el nombre del archivo:
    ahornero@6581-D:~$ cd /home/ahornero
    ahornero@6581-D:~$ ./mi_script
    ó
    ahornero@6581-D:~$ /home/ahornero/mi_script
  2. Ejecutar el Script especificando el nombre del intérprete:
    (usando el intérprete SH)
    ahornero@6581-D:~$ sh ./mi_script
    (usando el intérprete BASH)
    ahornero@6581-D:~$ bash ./mi_script
  3. Ejecutar el Script usando . ./ (punto espacio punto barra):
    ahornero@6581-D:~$ . ./mi_script
  4. Ejecutar el Script usando el comando source:
    ahornero@6581-D:~$ source ./mi_script

Creo que exceptuando el último caso todos conocíais cada una de las opciones, nunca esta de más recordar lo que podemos hacer.

Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC. Administrador del portal Linux Hispano centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux, y hace poco fundó junto a Javier Carazo una startup, Codection. Puedes seguir sus updates en @ahornero y LinkedIn.

Ver comentarios

  • Las 3 últimas no necesitan el ./ ya que sólo estás especificando el nombre del archivo que quieres lanzar.
    La 4ª es equivalente a la 3ª, pero sólo funciona en bash (así que si lo pones en un script .sh y no especificas que ha de ejecutarse con bash, está el riesgo de que se ejecute con otra shell como por ejemplo dash y que no funcione, cosa que ya me ha pasado).
    La 3ª y la 4ª se diferencian de la 1ª y 2ª en que no se ejecutan en un proceso aparte sino que son ejecutadas por la propia shell que estás usando, línea por línea. Una diferencia es que si, por ejemplo, el script contiene "cd /usr", si lo ejecutas con . o source al terminar habrá cambiado el directorio actual a /usr, mientras que si lo ejecutas con sh (o bash) o ./script.sh, el programa hará lo que sea en /usr, pero al acabar seguiremos en el mismo directorio que estábamos.
    . (o source) es útil si queremos un script que cargue una serie de variables de entorno con `export VARIABLE="valor"`, ya que si hacemos un script así y lo ejecutamos con ./script.sh, las variables sólo cambiarán dentro del subproceso, y desaparecerán al terminar de ejecutarse el script.

  • Buenas Nuevas, cyberlectores y cyberseguidores.

    Hoy es el gran día de la liberación de la actualización 2.0, espero les guste ya que ha sido un cambio radical en la forma en que trabaja el script.

    Aparte de todos los cambios ya anunciados, hay otros interesantes, tal como una opción que verifica el mejor repositorio en Internet y lo agrega a su sources.list, un modulo de registro de usuario, un modulo de variables de sistema, y el modulo de auditoria fue totalmente remodelado.

    Adicionalmente las guías oficiales dentro del Script fueron totalmente actualizada, debido a los cambios profundos en la forma de trabajo, por lo que les invito a leerlas antes de usar el Script Bicentenario.

  • Hola Alberto, no sé si me podrás ayudar, tenemos en nuestra empresa un servidor linux Debian etch, como PDC, y clientes windows en la red, lo que queremos hacer es enviar desde el servidor un fondo de pantalla institucional a toda la red apenas enciendan las máquinas, Es esto posible? Existe algún script que me haga esto?

    Gracias amigo de antemano...

    Ernesto

  • @Ernesto si deseas que alguien te pueda ayudar da más datos en tema de los sistemas operativos windows, si toda la red usa el mismo windows y que version o que versiones de windows tienes, puesto que no en todas los fondos de pantalla se encuentran en el mismo lugar, si la red esta toda por cable o esta por wifi, y si hay subredes creadas o no y con que mascara, y la red local que tipo de ips usa, de tipo A 10.x.x.x, de tipo B 172.16.xx.xx-172.31.xx.xx o de tipo C 192.168.0.x - 192.168.254.x

    porque no vas a decir al script que recorra millones de ips cuando no existen.

    En el caso que se pueda realizar el script que pides se encesitarian esos datos

    salu2

Compartir
Publicado por
Alberto Hornero Luque
Etiquetas: bashlinux+scriptsh

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace