Can’t Use More Than 9 Positional Parameters in Bash Script Step?
Hi team, I really like your product and we use it very well for our infra automation
I'm running into an issue with Bash variable declarations in a script step.
When I define variables like this:
bash
복사
편집
VAR1="$1"
VAR2="$2"
... LOG_PROCESSING_RULE="$10" ShellCheck complains that for positional parameters over 9, I need to wrap them in braces — e.g. ${10} instead of $10. That's fine, but when I use ${10}, the value doesn't show up in the step input UI, so I can't pass any input there. If I leave it as just $10, the script seems to receive some default or unexpected value like 2000 or 3000, unrelated to the actual inputs. So my questions are: Is this a bug? Or is there a proper way to handle more than 9 positional arguments in this kind of setup? Any guidance would be appreciated!
VAR2="$2"
... LOG_PROCESSING_RULE="$10" ShellCheck complains that for positional parameters over 9, I need to wrap them in braces — e.g. ${10} instead of $10. That's fine, but when I use ${10}, the value doesn't show up in the step input UI, so I can't pass any input there. If I leave it as just $10, the script seems to receive some default or unexpected value like 2000 or 3000, unrelated to the actual inputs. So my questions are: Is this a bug? Or is there a proper way to handle more than 9 positional arguments in this kind of setup? Any guidance would be appreciated!

1 Reply
it's a bug, our parser doesn't handle well the ${} syntax without a default value
we'll fix it
as a workaround for now you can set a default value for arguments above 9 (e.g. ${10:-mydefault})