I run across many shell scripts with variables in all caps, and I\'ve always thought that there is a severe misunderstanding with that. My understanding is that, by convent
Any naming conventions followed consistently will always help. Here are a few helpful tips for shell variable naming:
Use all caps and underscores for exported variables and constants, especially when they are shared across multiple scripts or processes. Use a common prefix whenever applicable so that related variables stand out and won't clash with Bash internal variables which are all upper case.
Examples:
JOB_HOME
JOB_LOG
JOB_TEMP
JOB_RUN_CONTROL
LOG_DEBUG
LOG_INFO
LOG_ERROR
STATUS_OK
STATUS_ERROR
STATUS_WARNING
Use "snake case" (all lowercase and underscores) for all variables that are scoped to a single script or a block.
Examples: input_file
first_value
max_amount
num_errors
Use mixed case when local variable has some relationship with an environment variable, like: old_IFS
old_HOME
Use a leading underscore for "private" variables and functions. This is especially relevant if you ever write a shell library where functions within a library file or across files need to share variables, without ever clashing with anything that might be similarly named in the main code.
Examples: _debug
_debug_level
_current_log_file
Avoid camel case. This will minimize the bugs caused by case typos. Remember, shell variables are case sensitive.
Examples: inputArray
thisLooksBAD
, numRecordsProcessed
, veryInconsistent_style
See also: