Shell Básico
Shell Básico
Shell Básico
Arquitectura de capas
Usuario@equipo:/directorio/actual$
Directorio padre (..): es un directorio especial que hace referencia al directorio padre del directorio en el que estamos. Si
referenciamos al directorio .. nos estaremos refiriendo al directorio padre del actual. El nico directorio que no tiene
directorio padre es el directorio raz /.
Mas comandos...
r - lectura
w - escritura
x ejecucin
Las clases de usuarios a los cuales se les puede asignar los permisos bsicos anteriormente mencionados
son:
o otros: todos los dems usuarios que no son el dueo ni del grupo
$ MENSAJE="Hola Mundo"
$ echo $MENSAJE
Podemos crear cdigo fuente (scripts) en bash
#!/bin/bash
A=2
B=5
suma=$[$A+$B]
multiplica=$[$A*$B]
divide=$[$A/$B]
resta=$[$A-$B]
echo "2 + 5 = $suma"
echo "2 * 5 = $multiplica"
echo "2 / 5 = $divide"
echo "2 - 5 = $resta"
Para simplificar el uso de variables numricas se
puede usar el comando let
A=2
B=5
let suma=A+B
let multiplica=A*B
let divide=A/B
let resta=A-B
echo "2 + 5 = $suma"
echo "2 * 5 = $multiplica"
echo "2 / 5 = $divide"
echo "2 - 5 = $resta"
VARIABLES PREDEFINIDAS
#!/bin/bash
# muestra_param.sh
read A
echo $A
Podemos usar condicionales
#!/bin/bash
#Test IF
if [ $A = 1 ];
then
echo 'Acertaste'
exit 0
fi
read x
case $x in
1)
echo "uno"
;;
2)
echo "dos"
;;
*)
echo "no se qu numero es"
;;
esac
Ciclos
Num=10
for (( i=0;i<=Num;i++ ))
do
echo El numero es $i
done
Mas ciclos
#!/bin/bash
function limpiarPantalla {
clear
}
function listarETC {
ls /etc
}
function crearDirectorio
{
mkdir directorio
}
read opcion
case $opcion in
b|B)
limpiarPantalla
;;
l|L)
listarETC
;;
esac
Factorial
#!/bin/bash
factorial()
{
if [ $1 -le 1 ]
then
return 1
else
factorial $[$1-1]
return $[$1*$?]
fi
}
factorial 5
echo "factorial 5 = $?"
Fibonacci
#!/bin/bash
# SCRIPT: fibonacci.sh
# USO: fibo_iterative.sh [Number]
if [ $# -eq 1 ]
then
Num=$1
else
echo -n "Cuantos valores de la serie desear desplegar? :"
read Num
fi
f1=0
f2=1
echo "La serie de Fibonacci hasta el numero $Num es : "
for (( i=0;i<=Num;i++ ))
do
echo -n "$f1 "
fn=$((f1+f2))
f1=$f2
f2=$fn
done
echo