blob: 49f69e65855e3c0ea86d8f12812020f51b426830 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# Style Guide
The majority of our style recommendations are automatically enforced via our
automated linters. This document has guidelines that are less easy to lint for.
## Shell scripts
Shell scripts are OK for small tasks or wrappers, but prefer to use Python for
anything with a hint of complexity or in general.
Shell scripts should be written against bash, starting with this shebang:
```
#!/usr/bin/env bash
```
Note that the version of bash available on macOS by default is quite old, so be
careful when using new features.
Scripts should enable a few options at the top for robustness:
```
set -o errexit
set -o nounset
set -o pipefail
```
Quote all variables, using the full form: `"${SOME_VARIABLE}"`.
Use `"$(some-command)"` instead of backticks for command substitution. Note
that these should be quoted as well.
|