×

Advertencia

JUser: :_load: No se ha podido cargar al usuario con 'ID': 432

Programación

Programación (30)

Incluir código de un fichero externo en un shell script de Bash

Trabajar con funciones ahorra bastante tiempo y esfuerzo al incluir en las funciones tareas repetitivas, además de hacer scripts mucho más modulares y manejables, que  nos facilita el mantenimiento y evolución de los scripts. Ya hemos visto qué son las funciones en shell script, qué son los parámetros, tanto en shell script como en las funciones, cómo enviar parámetros a funciones y cómo recibir como variable el resultado de una función. Ahora vamos a ver un sencillo truco para poder trabajar con funciones u otras porciones de código. Hagamos una función: function enficheroexterno(){      echo "Soy una función que está en distinto fichero que el script"} Y la guardo en un fichero que se llama funcionexterna (no hace falta que le pongamos extensión, aunque podemos hacerlo). Y un script: #!/bin/bash. funcionexternaenficheroexterno Y cuando ejecuto el script, me da el siguiente resultado: Soy una función que está en distinto fichero que el script Para incluir la función de un fichero externo, únicamente he puesto un punto antes del nombre del fichero. De esa manera, incluye el texto del fichero en nuestro script.  

Información adicional

  • Nivel de dificultad Bajo
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 3669 veces

Shell script con Bash: Comprobar si existe o no un directorio y si existe, si tiene ficheros o está vacío

Si en un shell script queremos comprobar cualquier cosa y, que el script actúe de manera distinta según el resultado de la comprobación usaremos: if [ condición ]then     # instrucciones a ejecutar si la condición es ciertafiO si queremos que en caso de que la condición sea falsa ejecute otras instrucciones:if [ condición ]then     # instrucciones a ejecutar si la condición es ciertaelse     # instrucciones a ejecutar en caso de que la condición sea falsafi Y si queremos que vuelva a hacer una comprobación, en caso de que la condición sea cierta o falsa, usaremos: if [ condición ]then     # instrucciones a ejecutar si la condición es ciertaelif [ condición ]then     # instrucciones a ejecutar si la segunda comprobación es ciertaelse      # instrucciones a ejecutar si las dos comprobaciones anteriores son falsasfiY podemos incluir tantos if dentro de otros if como queramos. Para la temática que nos ocupa en este tutorial, comprobaremos:Si un determinado directorio existe con [ -d $directorio ]En caso de que queramos comprobar si el directorio no existe, se niega la condición con un signo de exclamación: [ ! -d $directorio ]Si el directorio tiene algún fichero o directorio [ "$(ls $directorio)" ]O si el…

Información adicional

  • Nivel de dificultad Bajo
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 34269 veces

Parámetros en shell scripts y funciones

Tanto en los scrips en Bash como en sus funciones, los parámetros nos ofrece la posibilidad de interactuar con ellos, pudiéndole enviar datos para que los procese o que el script actúe de una determinada manera según los parámetros enviados. Veamos cómo trabajar con ellos y cómo sacarles partido. Trabajar con un parámetro concreto Los parámetros se almacenan automáticamente en orden con un dólar delante del número que ocupan la posición que ocupan, empezando por 1, no por 0. Es decir, el primer parámetro de la función / script será $1; el segundo, $2... y así sucesivamente. $0 se reserva para el nombre del script. Ojo, en una función $0 es el nombre del script, pero $1 es el primer parámetro de la función, no del script. #!/bin/bash function saludo() {       echo "Soy una función que se llama $0 y saluda: Hola, "$1 } textosaludo=$(saludo Pepe) echo $textosaludo Si no le pasamos parámetros, devuelve: ./funcionquesaluda.sh Soy una función que se llama ./funcionquesaluda.sh y saluda: Hola, Pepe Y si le pasamos parámetros, devuelve lo mismo: ./funcionquesaluda.sh Manolo Soy una función que se llama ./funcionquesaluda.sh y saluda: Hola, Pepe Trabajar con todos los parámetros Si queremos conocer todos los parámetros, usaremos…

Información adicional

  • Nivel de dificultad Medio
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 33107 veces

Recepción en una variable del resultado de una función

Ya hemos visto cómo hacer funciones en shell script, cómo enviarle parámetros y ahora veremos cómo recoger en una variable el resultado del proceso de una función.  Veamos el ejemplo de los artículos anteriores modificado para recibir el resultado de la función en una variable: #!/bin/bash function saludo() {      echo "Soy una función que saluda: Hola, "$1  } textosaludo=$(saludo Pepe) echo $textosalud Como vemos, al igual que una función procesa los parámetros como un script ($1 es el primer parámetro recibido), a la hora de invocar la función y recibir el resultado en una variable también la instrucción es igual que si fuera un comando más de la shell: variable=$(comando parametro1 parametro2...) Definiendo la variable sin dólar delante. Recibiendo el valor con un igual, e indicándole que esa variable va a tomar el valor del resultado de la función con dólar y el comando/función con sus parámetros entre paréntesis.  Y no olvidemos que, aunque definamos las variables únicamente con el nombre, para trabar con el valor almacenado hay que escribir un dólar antes del nombre de la variable.   

Información adicional

  • Nivel de dificultad Medio
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 3533 veces

Funciones en shell script

Una de las principales ventajas de los sistemas derivados de Unix es la posibilidad de automatizar tareas. Para realizar las tareas repetitivas están los scripts, pero dentro de los scripts, puede que haya también tareas repetitivas. Y para hacer esas tarear repetitivas dentro de los scripts están las funciones.  Declarar una función Para programar una función dentro de un script, deberemos declararla con funtion nombredelafuncion() y el código entre corchetes. Así: #!/bin/bash function funcionquesaluda() {      echo "Hola, mundo, soy una función que saluda." } Invocar a una función Esta función devolvería un texto. Pero para que se ejecute, deberemos invocarla como si fuera una instrucción más del script: funcionquesaluda Por lo que el script que define esta función y luego la invoca sería algo así: #!/bin/bash function funcionquesaluda() {      echo "Hola, mundo, soy una función que saluda." } echo "Soy un script que saluda: Hola, mundo"funcionquesaluda  Que nos devolverá esto: Soy un script que saluda: Hola, mundoHola, mundo, soy una función que saluda.    Ahora que ya sabemos hacer funciones, aprenderemos a enviar parámetros a las funciones. 

Información adicional

  • Nivel de dificultad Medio
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 4626 veces

Como ver lo que se está reproduciendo en la terminal y en un cuadro de texto gráfico

11 Julio 2018 by 1 Comment Programación 3704 Views

Written by

Os traigo esta curiosidad para aquellos que quieran saber que está reproduciendo vuestro reproductor favorito, se trata de un simple script que hace uso de dbus para extraer los datos necesarios, a saber, artista, titulo y album y mostrarlos a nivel de terminal o en un cuadro de dialogo. Lo primero que debemos hacer es buscar con qdbus lo que está enviando el reproductor a traves de dbus. (He usado qdbus contenido en qt5-tools, en ArchLinux). Para ello lanzamos una terminal y escribmos en ella lo siguiente (con el reproductor en marcha y reproduciendo): qdbus | grep MediaPlayer2 y así nos saldría algo parecido a esto: org.mpris.MediaPlayer2.cantata Una vez identificado el reproductor, es cuestión de ir navegando por las ramas, se puede hacer con tab, ejemplo qdbus org.mpris.MediaPlayer2.cantata <TAB> y nos irá saliendo algo parecido a esto: $ qdbus org.mpris.MediaPlayer2.cantata /MenuBar/ /MenuBar/1 /org /org/mpris/MediaPlayer2 /MenuBar /cantata /org/mpris Como cada reproductor puede ser diferente, es ir buscando concretamente la rama en la que está los campos artist, title y album. Os dejo un ejemplo de un script que me hice a tal proposito para el reproductor Cantata, donde os podéis hacer una idea de como funciona. #!/bin/shartista=`qdbus org.mpris.MediaPlayer2.cantata /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata |…

Información adicional

  • Nivel de dificultad Bajo
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 3704 veces

Manual de programación Arduino

27 Junio 2018 by 0 Comment Programación 3248 Views
Sandra

Written by

Manual de programación Arduino Traducción al español del clásico "Arduino programing notebook" de Brian W. Evans. Con este manual aprenderás todos los secretos de la programación en Arduino con lenguaje c. Estructura del programa, sentencias, funciones, variables, etc. Todo ello enfocado a la programación específica de Arduino, entradas digitales y analógicas, control del tiempo, y comunicaciones serie. PDF del libro:

Información adicional

  • Nivel de dificultad Bajo
  • ¿Tutorial sacado de otra web/foro?
Leer más ...
Visto 3248 veces

Crear una aplicación snap en 5 minutos

26 Mayo 2018 by 0 Comment Programación 3441 Views
costales

Written by

Crear una aplicación snap es muy fácil. Os dejo un vídeo explicando cómo crearla desde cero y en sólo 5 minutos. Y aquí está la tienda de aplicaciones snap en donde la puedes subir.

Información adicional

  • Nivel de dificultad Bajo
  • ¿Tutorial sacado de otra web/foro? No
Leer más ...
Visto 3441 veces
Página 2 de 2

¡Atención! Este sitio usa cookies y tecnologías similares.

Si no cambia la configuración de su navegador, usted acepta su uso. Saber más

Acepto

Vea nuestra política de cookies y enlaces de interés aquí