Next: Repository Conventions, Previous: General Conventions, Up: Conventions [Contents]
Shell is central to Carbs Linux projects. Most of the tools and packages are written in POSIX sh.
Use 4 spaces for indentation, don’t use tabs.
Make sure you don’t use bash-specific code.
Make sure you lint your code with shellcheck and if you are new to
POSIX sh, use checkbashisms.
Don’t spawn new processes if you don’t absolutely need to, especially during string manipulation.
Never use a program for text manupilation that isn’t defined in the POSIX
standard. This includes gawk and perl.
Instead of $(basename $file), use ${file##*}.
Instead of $(dirname $file), use ${file%/*}.
# This is the same thing as basename /path/to/test.asc .asc
$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
$ echo $file
test
Instead of backticks, use $(..).