AIX下用su切换用户时不能加载环境变量的问题解决

前些日子在ibm-aix下安装sybase15.0.3时遇到了一个su切换用户时不能加载该用户环境变量的问题。现在问题情况及解决方法整理一下。

 

在aix下用sybase用户安装并配置完服务后,要设定成开机自动启动。

startsybase.sh的脚本为:

     su  - sybase -c "startserver -f RUN_servername -f RUN_servername_BS "

这句脚本的意思是:从当前用户(root)切换到sybase用户下,并以sybase用户的身份执行startserver -f RUN_servername -f RUN_servername_BS。


遗憾的是:执行该脚本的时候,提示找不到找不到SYBASE环境变量。 导致不能启动sybase主服务和备份服务器。

上面的语句在Linux运行没有任何问题,但在AIX环境就会报错

 

然而,用su - sybase手动切换到sybase用户下,再执行env却能够看到所有SYBAE,SYBAE_ASE,SYBASE_OCS等相关的环境变量。

也就是说用su手动切换到sybase用户时,自动加载了sybase的环境变量。在脚本中执行su - sybase -c  ..... 不会自动加载环境变量。

 


经过苦苦的搜索和自己的实验,最后问题解决了。如果想要加载sybase用户的环境变量,需加一个参数:-l

          su - sybase -l -c "startserver -f RUN_servername -f RUN_servername_BS "

 

但是很奇怪的是: -l这个参数在AIX下的man su 中根本就没有提到。

这么一个小小的问题的确苦恼了我很长时间。最后终于解决了。 

 

参考:http://linux.chinaunix.net/bbs/viewthread.php?tid=1059910&extra=&page=1

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值