Linux/Unix Shell Scripting - argv

 
Vista:

argv

Publicado por Marta (2 intervenciones) el 18/11/2005 18:35:04
Hola! Tengo que hacer un script en bash y no tengo mucha idea :-p De momento voy tirando pero me he quedado atrancada por culpa del argv. Mi intención es coger cada uno de los parámetros que le he pasado al lanzar el programa pero no sé cómo hacer para que el script tome el valor de cada uno de estos argumentos y yo poderlos usar.

Por ejemplo:

Si el programa se llama shell.sh, lo que le paso es:

$shell.sh prog1.txt prog2.txt

Pues yo quisiera poder coger la cadena de carácteres prog1.txt y prog2.txt para poder trabajar con este string en mi script. Sé que se puede hacer con el argv, pero no sé cómo asignarlo, no sé si me explico.

A ver si alguien podria echarme una manita. Gracias!
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

RE:argv

Publicado por n0str0m0 (180 intervenciones) el 18/11/2005 20:38:05
Se utilizan las variables $1, $2, etc....

$# te da el número total de parámetros
$* te da todos los parámetros en forma de lista.

shift es un comando que te desplaza las variables posicionales, es decir.

programa param1.txt param2.txt param3.txt

$1=param1.txt
$2=param2.txt
$3=param3.txt

pero si haces un shift.....

$1=param2.txt
$2=param3.txt

Espero haberte sido de ayuda....

Salu2
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

RE:argv

Publicado por David Rico (4 intervenciones) el 23/02/2006 04:41:14
Hola que tal tu problema es muy facil, y se resuelve con variables posicionles, yo lo trataria de la siguiente manera:

for argumento in echo $*
do
echo "Argumento: $argumento"
done
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