我运行了许多shell脚本与变量在所有大写,我一直认为有一个严重的误解。我的理解是,按照惯例(也许很久以前),环境变量是全能的。
但在像Bash这样的现代脚本环境中,我一直优先考虑小写变量对临时变量的约定,以及大写变量只对导出(即环境)变量的约定。例如:
#!/usr/bin/env bash year=`date +%Y` echo "It is $year." export JAVA_HOME="$HOME/java"
这一直是我的事情。是否有任何权威来源同意或不同意这种做法,还是纯粹是一种风格问题?
按照惯例,环境变量(PAGER,EDITOR,..)和内部shell变量(SHELL,BASH_VERSION,..)都大写。所有其他变量名应为小写。
原文链接:https://www.f2er.com/bash/392952.html记住变量名是区分大小写的;这个约定避免了意外超越环境和内部变量。
遵循这个约定,你可以放心,你不需要知道UNIX工具或shell使用的每个环境变量,以避免覆盖它们。如果它是你的变量,小写它。如果你导出它,大写它。