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 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:
|
Results should instead be written to stdout and captured:
|
||||||
|
|
||||||
@@ -30,7 +30,9 @@ message=$(myfunc)
|
|||||||
echo "The function wrote: $message"
|
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:
|
### Exceptions:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user