SC1065
Joachim Ansorg edited this page Nov 12, 2021
·
3 revisions
Trying to declare parameters? Don't. Use () and refer to params as $1, $2, ..
Problematic code:
foo(input) {
echo "$input"
}
foo("hello world");Correct code:
foo() {
echo "$1"
}
foo "hello world"Rationale:
Shell script functions behave just like scripts and other commands:
- They always take a 0 to N parameters, referred to with
$1,$2etc. They can not declare parameters by name. - They are executed using
name arg1 arg2, and not with parentheses as C-like languages.
Exceptions:
None.