En cuanto a ./script.sh arg1 [arg2 arg3 ...]
los argumentos de línea de comandos arg1
, arg2
, ... se puede conseguir mediante $1
, $2
, ... Sin embargo, el número de argumentos es NO fijo.
En el script de shell, quiero pasar los argumentos a partir de arg2
un programa,
#/bin/bash
...
/path/to/a/program [I want to pass arg2 arg3 ... to the program]
...
¿Cómo podría hacerlo ya que podría haber uno o más argumentos?
bash
shell-script
shell
arguments
Sotavento
fuente
fuente
$@
?$@
le dicen al shell que doble comillas cada parámetro (algo bueno que hacer si los parámetros contienen caracteres interesantes como paréntesis o asteriscos). Si no te importa, eso$*
funciona ...Puede cortar los parámetros posicionales utilizando la expansión de parámetros. La sintaxis es:
Si
length
se omite, se toma como hasta el último valor.Como iba a pasar del segundo al último argumento, necesita:
Ejemplo:
fuente