首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

Shell脚本最好都能自定义自各儿所需的环境变量,无论什么情况

2013-10-01 
Shell脚本最好都能自定义自己所需的环境变量,无论什么情况这样做的好处:1、很清楚的查到自己脚本使用到的环

Shell脚本最好都能自定义自己所需的环境变量,无论什么情况

这样做的好处:

1、很清楚的查到自己脚本使用到的环境变量对应的值;

2、不因为任务外部情况的变化而导致shell脚本无法执行;

?

现实中,常常有开发同学写的shell脚本的环境变量依赖于系统设置的值(譬如设置在/etc/profile),殊不知这种情况是有特定机制的,那就是:需要执行脚本的是当前用户,因为环境变量设置在/etc/profile,意味着当用户登录系统时这些环境变量才生效,这里的前提是登录。如果执行这个脚本的不是当前用户,脚本依赖的环境变量就是无效的。

?

具体场景 写道用A用户登录,echo $JAVA_HOME,会显示出值/usr/xxx/java
当A用户执行一个脚本xxx.sh,这个脚本直接使用了$JAVA_HOME,执行命令:sudo -u admin ./xxx.sh,$JAVA_HOME并不是预期的/usr/xxx/java
原因:用admin用户执行xxx.sh,登录用户是A

?

热点排行