mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Updated SC2152 (markdown)
@@ -21,7 +21,7 @@ myfunc() {
|
||||
|
||||
In many languages, `return` is used to return from the function with a final result.
|
||||
|
||||
In bash, `return` can only be used to signal success or failure (0 = success, 1-255 = failure), more akin to `throw/raise` in other languages.
|
||||
In sh/bash, `return` can only be used to signal success or failure (0 = success, 1-255 = failure), more akin to `throw/raise` in other languages.
|
||||
|
||||
Results should instead be written to stdout and captured:
|
||||
|
||||
@@ -30,7 +30,9 @@ message=$(myfunc)
|
||||
echo "The function wrote: $message"
|
||||
```
|
||||
|
||||
In functions that return small integers, such as getting the cpu temperature, the value should still be written to stdout. `return` should be reserved for error conditions, such as "can't determine CPU temperature".
|
||||
In functions that return small integers, such as getting the cpu temperature, the value should still be written to stdout. `return` should be reserved for error conditions, such as "can't determine CPU temperature". Error or failure messages should be written to stderr.
|
||||
|
||||
Note in particular that `return -1` is equivalent to `return 255`, but that `return 1` is the more canonical way of expressing the first possible error code.
|
||||
|
||||
### Exceptions:
|
||||
|
||||
|
Reference in New Issue
Block a user