I would like to write a bash script with unknown amount of arguments.
How can I walk through these arguments and do something with them?
A wrong attempt would look like this:
#!/bin/bash
for i in $args; do
echo $i
done
argumentsbashshell
I would like to write a bash script with unknown amount of arguments.
How can I walk through these arguments and do something with them?
A wrong attempt would look like this:
#!/bin/bash
for i in $args; do
echo $i
done
Best Answer
There's a special syntax for this:
More generally, the list of parameters of the current script or function is available through the special variable
$@
.Note that you need the double quotes around
$@
, otherwise the parameters undergo wildcard expansion and field splitting."$@"
is magic: despite the double quotes, it expands into as many fields as there are parameters.