2009-03-03 12 views
8

Tengo un archivo por lotes como esto:¿Cómo paso argumentos al script de shell?

java temptable %1 %2 

necesito el script de shell equivalente a la anterior. Pasaré los argumentos al script de shell y eso se pasará a temptable.

+0

Aquí es un artículo, Cómo pasar argumentos a una secuencia de comandos shell. Cubre casi todos los argumentos de línea de comando [Cómo pasar argumentos a un script de shell] (http://bashscript.blogspot.com/2009/11/how-to-pass-arguments-to-shell-script.html) –

Respuesta

17

Para bash (que es uno cáscara, pero probablemente el más común en el mundo de Linux), el equivalente es:

java temptable $1 $2 

suponiendo que no hay espacios en los argumentos. Si hay espacios, se debe citar sus argumentos:

java temptable "$1" "$2" 

También puede hacer:

java temptable $* 

o:

java temptable "[email protected]" 

si desea que todos los parámetros pasados ​​a través de (una vez más, que el segundo es equivalente a citar cada uno de los parámetros: "$ 1" "$ 2" "$ 3" ...).

+2

Sugeriría citar los argumentos. – jdigital

+0

Hecho, gracias, @jd. – paxdiablo

+0

Eso también es válido para sh y todas las shells derivadas, no solo bash (AFAIK) –

8
#!/bin/bash 
# Call this script with at least 3 parameters, for example 
# sh scriptname 1 2 3 
echo "first parameter is $1" 
echo "Second parameter is $2" 
echo "Third parameter is $3" 
exit 0 

Salida:

[[email protected] ~]# sh parameters.sh 47 9 34 
first parameter is 47 
Second parameter is 9 
Third parameter is 34 
Cuestiones relacionadas