|
1 2 3 4 |
#!/bin/bash for (( NUM=2; NUM<=40; NUM=NUM+2 )); do echo NUM vale $NUM done |
|
1 2 3 4 |
#!/bin/bash for (( NUM=2; NUM<=40; NUM=NUM+2 )); do echo NUM vale $NUM done |
|
1 2 3 4 5 6 7 8 |
#!/bin/bash clear read -p “Introduzca un número : “ NUMERO let RESTO=NUMERO%2 if [ $RESTO -eq 0 ]; then echo “El número $NUMERO es par” else echo “El número $NUMERO es impar” fi |
O también pasando el número como argumento al script :
|
1 2 3 4 5 6 7 |
#!/bin/bash if [[ $(($1 % 2)) == 0 ]] then echo Par else echo Impar fi |
Podemos obligar a que bash trabaje con decimales utilizando un comando que sirve como calculadora en Unix, este comando es bc. Este comando admite un gran número de parámetros, pero en estos apuntes vamos a usarlo simplemente para indicar que queremos obtener decimales en las operaciones.
Vemos cómo debemos generar una salida con echo, el primer campo scale indica cuantos decimales queremos obtener (4 en este caso), luego y separado por un punto y coma ponemos la operación aritmética que deseamos realizar, sin necesidad de poner corchetes, dobles paréntesis o usar let. El resultado de este echo lo enviamos al comando bc –l mediante una tubería.
|
1 2 3 4 |
MEDIA=$( echo “scale=4; $SUMA/3” | bc –l ) $ echo "scale=4; 20/3" | bc -l 6.6666 |
El siguiente Script copia todos los archivos de trabajo con extensión .dat y .c del directorio actual
al directorio pasado como argumento. Si este directorio no existe, el guión lo debe crear
|
1 2 3 4 5 6 |
#!/bin/bash test ! –e “$1” && mkdir “$1” if [ -d “$1” ] then cp *.dat *.c “$1” 2> ficherr fi |
|
1 2 3 4 5 6 7 |
@echo off setlocal ENABLEEXTENSIONS & set "i=0.0.0.0" & set "j=" for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do ( if not defined j for %%b in (%%a) do set "i=%%b" & set "j=1") endlocal & set "dip=%i%" echo Direccion IP = %dip% pause |