jueves, 18 de noviembre de 2010

Linux (shell)

Escribir comandos en un fichero de texto
Guardar el fichero
Dar permisos de ejecución (chmod +x nombrefichero)
Escibir en la consola ./nombrefichero
Argumentos de un Shell
Hay q crear un fichero con extensión “.sh”
$0 => Argumento/parámetro 0     (dólar cero es el Argumento del programa (donde está)) (imprime)
$# => guarda el número de argumentos que recibe el programa
$* => guarda la cadena de argumentos (excluyendo $0)
$? => guarda el código de retorno de la última orden ejecutada (0 si no hay error, distinto de 0 si lo hay)
Operadores:
+ sumar
-restar
*multiplicar
/dividir
% para el resto de la división
Ejemplo:
Read a b
C=`expr $a\*$b`
Echo $c
Alternativa:

En vez de usar "expr" se puede usar los operadores [corchetes]


Operadores relacionales

Sirve para empezar palabras argumentos, números...
Si el resultado de la comparación es cierto, devuelven 1,
Si es fichero, devuelven 0
=  (compara si son iguales)
!= (distinto)
> (mayor que)
< (menor que)
Hay que usarlos con \
\>    \<
>= (mayor o igual)  <=(menor o igual)


Operadores lógicos

Se usan para comparar 2 argumentos (arg1, arg2).  
devuelven un argumento o parte del otro






& -> Y arg1 & arg2


Si arg1 y arg2 son distintos de cero, el resultado es arg1, si no, el resultado es arg2
: (2 puntos)
argi : arg2
arg2 es el patrón buscado en arg1. Si el patrón arg 2 está encerrado entre paréntesis \( u \), el resultado es la parte de arg1 que coincide con arg2, si no, el resultado es el número de caracteres que cpinciden.
NOTA:  | y  ¬ deben ir precedidos de \ ... \|, \&


Ejemplo:
  a= junio_2001
  b=`expr $a :'\([a-z]*\)'`
  echo b
 

2 comentarios:

  1. al poner test ./(algun fichero)

    con la opcion -f ( como no es un directorio imprime 1)

    opcion -s devuelve 0 si existe

    opcion -d devuelve 0 si es un directorio

    ResponderEliminar
  2. opción -r devuelve 0 si tiene permiso de lectura

    ResponderEliminar

simple tracker
Flowers Roses