blob: 0fbd28458985f6a9cf72fc4a5ea0bd8f035e379e (
plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
This is the rc-scripts style manual. It governs the coding style
of rc-scripts. Everything here might as well have been spoken by
God. If you find any issues, please talk to base-system@gentoo.org
or #gentoo-base on irc.freenode.net.
#############
# VARIABLES #
#############
- User Variables -
Variables must always be enclosed by {}
e.g. ${foo} ${bar}
- Internal Shell Variables -
Do not use {} with internal variables unless appropriate
e.g. case $1 in
e.g. foo=$IFS
e.g. echo "blah${1}123"
- Assigning with Quotes -
When assigning to a variable from another variable, you should
not need quotes. However, you do when assigning from a subshell.
e.g. foo=${bar}
e.g. foo="$(uname -a)"
#########
# TESTS #
#########
- Brackets -
Always use the [ ... ] form instead of [[ ... ]] as the later only really
works in bash, and we should support as many shells as we can.
- Quoting -
When dealing with strings, you should quote both sides.
###############
# CODE BLOCKS #
###############
- Structure -
Use the more compact form
e.g. if ... ; then
e.g. while ... ; do
Do not use the older form
e.g. if ...
then
- Functions -
Use the more compact form
e.g. foo() {
Do not lead with 'function '
e.g. function foo() {
############
# COMMENTS #
############
- General -
Try to include a comment block before sections
of code to explain what you're attempting
|