小编典典

正确的 Bash 和 shell 脚本变量大写

all

我遇到了许多带有所有大写变量的 shell 脚本,我一直认为这是一个严重的误解。我的理解是,按照惯例(也许很久以前是必要的), 环境变量
都是大写的。

但是在像 Bash 这样的现代脚本环境中,我一直更喜欢使用小写字母命名临时变量,而大写字母 仅用于导出(即环境)变量 。例如:

#!/usr/bin/env bash
year=`date +%Y`
echo "It is $year."
export JAVA_HOME="$HOME/java"

这一直是我对事情的看法。是否有任何权威人士同意或不同意这种方法,或者纯粹是风格问题?


阅读 64

收藏
2022-05-24

共1个答案

小编典典

按照惯例,环境变量 ( PAGER, EDITOR, …) 和内部 shell 变量 ( SHELL, BASH_VERSION,
…) 都是大写的。所有其他变量名称应为小写。

请记住,变量名是区分大小写的;此约定避免意外覆盖环境和内部变量。

遵守这个约定,您可以放心,您不需要知道 UNIX 工具或 shell
使用的每个环境变量,以避免覆盖它们。如果它是您的变量,请将其小写。如果你导出它,大写它。

2022-05-24