Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash脚本之间共享变量_Bash - Fatal编程技术网

在bash脚本之间共享变量

在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(省略-),将变量作为命令行参

我正在尝试创建一个init.d脚本来启动我的应用程序。 我有两个脚本,第一个是init.d脚本myapp

   #!/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。感谢您的快速响应。感谢您的快速响应。