1.变量赋值时,等号两边不能有空格;
2.在判断表达式中,不论是 [ -n "$1" ] 还是 [ -f "$1" ] 都要在变量两侧加上双引号;
3.在使用与或非判断式时,方括号内可以不用方括号,但是要保持空格间距 [ -d "directory" -a $ret -eq 0 ];
4.使用mv命令对符号连接目录中的文件进行移动时,如果目的路径是相对路径, 那么相对路径是相对于符号连接目录。
5.在 /etc/profile 中配置变量
如果没有export来导出变量,那仅仅是创建了一个shell变量,而不是用户环境变量。
案例:启动 RocketMQ的 mynamesrv时,报错,JAVA_HOME没有配置,实际在/etc/profile中的配置没有生效,
其实就是没有使用export导出为用户环境变量,env、set 都看不到JAVA_HOME
6.shell脚本中使用变量 ${}来获得变量值
获得执行结果 $() 和``效果一样;
$[]和 $(()) 效果一样