2012-09-11 221 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