Shell

Shell

Made by DeepSource

Wrong way of declaring parameters SH-1065

Bug risk
Critical

Problematic code:

foo(input) {
  echo "$input"
}
foo("hello world");

Preferred code:

foo() {
  echo "$1"
}
foo "hello world"

Shell script functions behave just like scripts and other commands: * They always take 0 to N parameters, referred to with $1, $2 etc. They can not declare parameters by name. * They are executed using name arg1 arg2, and not with parentheses as C-like languages.