aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2019-09-19 14:24:24 +0300
committerDylan Araps <dylan.araps@gmail.com>2019-09-19 14:24:24 +0300
commit7408b72778bb027f6d2e33cd588eb0b496d374c3 (patch)
treef619fd36746e053b8a79512496fb6fb1ff0afff6
parentf8b985f12a50aee2af8f58531b2c17b07c67d7a1 (diff)
downloadpure-sh-bible-7408b72778bb027f6d2e33cd588eb0b496d374c3.tar.gz
pure-sh-bible-7408b72778bb027f6d2e33cd588eb0b496d374c3.zip
docs: update
-rw-r--r--README.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/README.md b/README.md
index 4c928e9..b9dc81e 100644
--- a/README.md
+++ b/README.md
@@ -80,6 +80,9 @@ See something incorrectly described, buggy or outright wrong? Open an issue or s
* [Get the current working directory](#get-the-current-working-directory)
* [Get the PID of the current shell](#get-the-pid-of-the-current-shell)
* [Get the current shell options](#get-the-current-shell-options)
+* [SHELL QUIRKS](#shell-quirks)
+ * [`shift` with no function arguments crashes `dash`.](#shift-with-no-function-arguments-crashes-dash)
+ * [`read` with no given variable crashes `dash`.](#read-with-no-given-variable-crashes-dash)
* [AFTERWORD](#afterword)
<!-- vim-markdown-toc -->
@@ -858,6 +861,31 @@ This is an alternative to the `pwd` built-in.
"$-"
```
+# SHELL QUIRKS
+
+## `shift` with no function arguments crashes `dash`.
+
+```shell
+# This will crash `dash` if there are no arguments.
+shift
+
+# Solution (shift on its own is really 'shift 1').
+# This uses 'shift 0' if there are no arguments and
+# 'shift 1' if there are.
+shift "$(($# > 0 ? 1 : 0))"
+```
+
+## `read` with no given variable crashes `dash`.
+
+```shell
+# This will crash `dash`.
+read -r
+
+# Solution.
+# Use a dummy variable.
+read -r _
+```
+
# AFTERWORD
Thanks for reading! If this bible helped you in any way and you'd like to give back, consider donating. Donations give me the time to make this the best resource possible. Can't donate? That's OK, star the repo and share it with your friends!