问题
In shell scripting, even though I use Java
or Python
style naming convention, I am still unclear about naming a constant.
Many conventions suggest me to use "capital letter" together with "underscore" for naming a constant e.g. MY_CONSTANT
, PI
. But in Bash
, this may conflict with environment variables.
So, what is the right naming convention for Bash constants?
回答1:
Good question!
Together with the question you are linking, there is another related question in Unix & Linux: Are there naming conventions for variables in shell scripts?.
There you can find a couple of good answers:
Variables that are introduced by the operating system or start up scripts etc. are usually all in
CAPITALS
, these are called 'envrironment variables'.To prevent your own variables from conflicting with environment variables, it is a good practice to use
lower case
.
Together with a Shell Style Guide link, where you can find:
Naming Conventions
Function Names
▶ Lower-case, with underscores to separate words. Separate libraries with ::. Parentheses are required after the function name. The keyword function is optional, but must be used consistently throughout a project.
Variable Names
▶ As for function names.
Constants and Environment Variable Names
▶ All caps, separated with underscores, declared at the top of the file.
There is no defined standard in man bash
, so you better use your our convention bearing in mind the basic idea: be careful with uppercase.
来源:https://stackoverflow.com/questions/32144204/what-is-a-convention-for-naming-a-constant-in-bash