Introducción al Shell de Linux
MSc. Fernando Aparicio Urbano Molano
Arquitectura Computacional
Shell Linux
• Intérprete de comandos.
• Bourne Shell (sh): Escrito por Steve Bourne.
Intel Galileo GPIOPin Digital
Arduino
Pin en
Linux
0 50
1 51
2 14
3 15
4 28
5 17
6 24
7 27
8 26
9 19
10 16
11 25
12 38
13 39
Shell y GPIO
Shell y GPIO
Operadores Aritméticos
+ Igual a
- No igual a
* Menor que
/ Menor que o
igual a
% Mayor que
Operadores Bit a Bit
& AND
| OR
^ XOR
~ NOT o
complemento
<< Desplazamiento
a la izquierda
>> Desplazamiento
a la derecha
Óperadores Relacionales
-eq Igual a
-ne No igual a
-lt Menor que
-le Menor que o igual a
-gt Mayor que
-ge Mayor que o igual a
Operadores Lógicos
&& AND
|| OR
! No igual a
((! $A == true))
GPIO - Dipswitch
Ciclo de Decisión if – elif - else
Ciclo de Decisión if – elif - else
Interfaz GPIO Sysfs
• Interfaces de control: /sys/class/gpio (export, unexport).
• GPIO: /sys/class/gpio/gpioN/ (direction, value, edge,
active_low).
• Controladores GPIO: /sys/class/gpio/gpiochipN/
(base, label, ngpio).
Interfaz GPIO Sysfs
root@clanton:~# cat /sys/kernel/debug/gpio
• GPIO en Intel Galileo se dividen en cuatro partes:
1. GPIOs 0-1 - Intel Quark X1000 – pines GPIO[9:8].
2. GPIOs 2-7 - Intel Quark X1000 – pines GPIO_SUS[5:0].
3. GPIOs 8-15 - Intel Quark X1000 - pines GPIO[7:0] (controlador).
4. GPIOs 16-55 - Expansor Cypress CY8C9540A I/O.
Interfaz GPIO Sysfs
Funciones en Shell
#! /bin/sh
#Se define la
función
Hola (){
echo “Hola Mundo”
}
#Bucle
while true
do
Hola
usleep 500000
done
Funciones con parámetros
#! /bin/sh
#Se define la función
Hola_Mundo (){
echo “Hola $1 $2”
}
#Bucle
while true
do
Hola Intel Galileo
usleep 500000
done
Funciones que retornan valores
#! /bin/sh
#Se define la función
suma(){
res=$(($1 + $2))
return $res
}
#Bucle
while true
do
suma 6 9
ret=$?
echo “El resultado es: $ret”
usleep 500000
done
Función para configuración de GPIO

Introducción al Shell Linux