2012-09-11 314 views
0

我想让一个init.d脚本启动我的应用程序。 我有两个剧本,第一个是的init.d脚本MYAPP在bash脚本之间共享变量

#!/bin/bash 
    export MYAPP_HOME="/srv/myapp" 
    su - myuser -c "exec $COMMAND_LINE" 

二是脚本启动的myapp。

我想在第二个脚本中使用变量MYAPP_HOME。

任何人都可以帮助我吗?

+1

您的su命令无法访问调用者的环境,因此您的导出变量将不可用。您需要将它作为命令行参数传递。 –

+0

@MikeWeller,那根本不是真的。 'su -c“”'继承当前环境。 OP的问题是他们有'-',指定一个登录shell。 – jedwards

回答

4

问题是您通过使用-参数创建登录shell,因此创建了新环境。请不要使用登录shell(省略-),将该变量作为命令行参数传递,或者将环境变量放入其中一个启动文件中,如.bash_profile

+0

谢谢,快速回复。 – mcarrolle