正确的Bash和shell脚本变量大写化我遇到了许多带有所有大写变量的shell脚本,而且我一直认为对此存在严重的误解。我的理解是,根据惯例(也许在很久以前就有必要),环境变量全副武装。但是在像bash这样的现代脚本环境中,我总是更喜欢用小写名称来表示临时变量和大写变量。仅用于导出(即环境)变量..例如:#!/usr/bin/env bashyear=`date +%Y`echo "It is $year."export JAVA_HOME="$HOME/java"这一直是我对事情的看法。是否有权威人士同意或不同意这种做法,还是纯粹是一种风格的问题?
                    
                    
                3 回答
 
                    
                    
                            ibeautiful
                            
                                
                            
                        
                        
                                                
                    TA贡献1993条经验 获得超6个赞
- 使用 所有上限和下划线- 用于导出变量和常量,特别是当它们在多个脚本或进程之间共享时。在适用的情况下使用通用前缀,以便相关变量突出,不会与 - Bash内部变量 - 都是大写字母。 - 例子: 
- 具有公共前缀的导出变量: - JOB_HOME- JOB_LOG- JOB_TEMP- JOB_RUN_CONTROL
- 常数: - LOG_DEBUG- LOG_INFO- LOG_ERROR- STATUS_OK- STATUS_ERROR- STATUS_WARNING
- 使用“蛇壳”( 所有小写和下划线- )对于范围为单个脚本或块的所有变量。 - 例子: - input_file- first_value- max_amount- num_errors- 局部变量与环境变量有某种关系时的混合情况,如: - old_IFS- old_HOME
- 用 前导下划线- 用于“私有”变量和函数。如果您曾经编写一个shell库,其中库文件中或跨文件中的函数需要共享变量,而不与主代码中可能类似命名的任何内容发生冲突,则这一点尤为重要。 - 例子: - _debug- _debug_level- _current_log_file
- 避 骆驼箱- ..这将最大限度地减少案例键入所导致的错误。记住,shell变量是 大小写敏感.- 例子: - inputArray- thisLooksBAD,- numRecordsProcessed,- veryInconsistent_style
添加回答
举报
0/150
	提交
		取消
	
