54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
|
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
|