Linux/Unix Shell Scripting - Consejos o trucos para aprender scripting

   
Vista:
Imágen de perfil de Raúl

Consejos o trucos para aprender scripting

Publicado por Raúl (9 intervenciones) el 20/11/2013 22:53:36
Hola buenas , tengo un gran problema, no consigo dominar el uso del shell scripting. Me mandan hacer ejercicios por mi cuenta y no soy capaz de empezar a penas, alguien sabe algun truco? y eso que los script que hacemos en clase son sencillos, algunos tienen más facilidad para aprender a manejarlo pero otros no.. Yo soy uno, ojala tuviera un don o algo jejeje. Alguien me puede conseguir unos ejercicios sencillos? el enunciado quiero decir para ir practicando?
Hacemos script de tipo como este de los que ya tienen alguna complicación:
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
clear
if [ -e $1 ] ; then
	inodo=`ls -i $1 | cut -d" " -f1`
	busqueda=`find ~/ -inum $inodo`
	for i in $busqueda
	do
	 	rm $i
	done
else
	echo "El fichero $1 no existe"
fi

ó de este otro tipo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
gencontra(){
	declare -a dat
	dat=(1 B c 2 f G h 0 a X z 3 4 5 6 7 8 9 d I J K ?)
	contrasenia=""
	for var in `seq 6`
	do
		let num=$RANDOM%${#dat[*]}
		contrasenia=$contrasenia${dat[$num]}
 
	done
}
# let num=$RANDOM%20
clear
rm -f clavesusuarios.txt
nlineas=`wc -l /etc/passwd | cut -d" " -f1`
for (( i=1 ; i<=$nlineas ; i++ ))
do
	# nos quedamos con cada linea
	linea=`head -$i /etc/passwd | tail -1`
	id=`echo $linea | cut -d":" -f3`
	if [ $id -ge 1001 -a $id -le 2000 ] ; then
		nombre=`echo $linea | cut -d":" -f1`
		# vamos a ejecutar la función
		gencontra
		echo "$nombre : $id : $contrasenia" >> clavesusuarios.txt
		sudo cambio.sh $nombre $contrasenia
	fi
 
done

Cuando me ponen un enunciado diciendome tengo que hacer un script que haga tal tal tal y cual y pascual. Y no consigo sacarlo. Algunos trucos o pasos? Perdón por lo larga que es la duda.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Consejos o trucos para aprender scripting

Publicado por xve (254 intervenciones) el 21/11/2013 07:26:00
Hola Raul, la verdad es que es mucha practica.... una buena manera, es coger código de otros usuarios y intentar entenderlos... de esta manera iras viendo nuevas maneras de hacer las cosas...

Yo llevo varios años programando, y siempre estoy aprendiendo de otros usuarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raúl

Consejos o trucos para aprender scripting

Publicado por Raúl (9 intervenciones) el 21/11/2013 18:57:21
¿Dónde puedo encontrar un lugar donde haya enunciados de script y luego vengan también las soluciones corregidas? Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raúl

Consejos o trucos para aprender scripting

Publicado por Raúl (9 intervenciones) el 22/11/2013 00:22:13
Utilizo debian wheezy. Gracias por los link.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consejos o trucos para aprender scripting

Publicado por xve (254 intervenciones) el 21/11/2013 21:52:19
En esta misma página, encontraras algunos códigos...
http://www.lawebdelprogramador.com/codigo/Linux_Unix_Shell_Scripting/index1.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raúl

Consejos o trucos para aprender scripting

Publicado por Raúl (9 intervenciones) el 22/11/2013 18:45:52
Acabo de hacer un ejercicio que no he sabido hacer, donde puedo encontrar ejemplos de script que cuenten un determinado fichero dentro de un directorio, y dentro de un directorio cuente un determinado fichero que haya y asi sucesivamente de manera recursiva? Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar