在bash脚本之间共享变量
我正在尝试创建一个init.d脚本来启动我的应用程序。 我有两个脚本,第一个是init.d脚本myapp:在bash脚本之间共享变量,bash,Bash,我正在尝试创建一个init.d脚本来启动我的应用程序。 我有两个脚本,第一个是init.d脚本myapp: #!/bin/bash export MYAPP_HOME="/srv/myapp" su - myuser -c "exec $COMMAND_LINE" 第二个是启动myapp的脚本 我想在第二个脚本中使用变量MYAPP_HOME 有人能帮我吗?问题是,您正在使用-参数su创建登录shell,因此创建了一个新环境。不要使用登录shell(省略-),将变量作为命令行参
#!/bin/bash
export MYAPP_HOME="/srv/myapp"
su - myuser -c "exec $COMMAND_LINE"
第二个是启动myapp的脚本
我想在第二个脚本中使用变量MYAPP_HOME
有人能帮我吗?问题是,您正在使用
-
参数su
创建登录shell,因此创建了一个新环境。不要使用登录shell(省略-
),将变量作为命令行参数传递,或者将环境变量放置在一个启动文件中,如.bash\u profile
问题是,您正在使用-
参数创建登录shell,从而创建一个新的环境。不要使用登录shell(省略-
),将变量作为命令行参数传递,或者将环境变量放置在启动文件中,如。bash\u profile
您的su命令无法访问调用者的环境,因此导出的变量将不可用。您需要将其作为命令行参数传递。@MikeWeller,这根本不是真的su-c”“
继承当前环境。OP的问题是他们有-
,指定了登录shell。su命令无法访问调用者的环境,因此导出的变量将不可用。您需要将其作为命令行参数传递。@MikeWeller,这根本不是真的su-c”“
继承当前环境。OP的问题是他们有-
,指定了一个登录shell。感谢您的快速响应。感谢您的快速响应。