Say I create a file
#!/bin/sh for myVar; do echo "Hi" done
If I execute
bash myScript with no arguments I'll get nothing but if I'll execute it with one or more arguments I'll get the output per the number of these variables (the variable seems to make the script dependent in passed arguments):
bash ~/myScript.sh arg0 arg1
The for loop, which is based on the undefined variable
myVar, would apply
arg1 to itself (sorry if this phrasing is lousy) and I'll get this output:
(one "Hi" per argument).
I originally assumed that one
for loop works with one argument so if I would have
myVar_0 will work with
myVar_1 will work with
arg1 but I further tested and I was wrong --- all
for loops worked with all arguments:
#!/bin/sh for myVar_0; do echo "Hi" done for myVar_1; do echo "Hello" done
will return in
bash myScript arg0 arg1:
Sidenote: I assume that if would want "1 argument per 1 for loop" I just need to use a Bash function for local scope.
What is the name of this "all arguments per all for loops" matching that Bash does?