shell脚本无env

s_wenze 2015-01-24 12:36:47
php调用的a.sh脚本,a.sh调用gradle的b.sh脚本,但是执行b脚本执行的时候env为空,/etc/profile设置的PATH也没有。求助,怎样才能在b脚本获取env和PATH?
...全文
170 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2015-01-28
  • 打赏
  • 举报
回复
看你描述,问题挺奇怪的,Fedora 没接触过
s_wenze 2015-01-26
  • 打赏
  • 举报
回复
引用 3 楼 zhxianbin 的回复:
/etc/profile 是适用于所有用户的
适合所有用户没错,解释下流程吧。我要做个Android gradle自动打包的网站,前后台要实时通讯,于是采用了能支持多进程socket php的workman框架, 首先sudo运行php的workermand脚本开启socket服务端,这个框架里面接收的socket信息在Event.php进行处理,Event.php执行build.sh进行git代码同步等操作再在build.sh执行gradle的gradlew脚本。 执行gradlew需要Java环境JAVA_HOME和Android环境ANDROID_HOME,终端输入env普通用户和root这些变量都是存在的,现在用source执行build.sh后在gradlew里面打印env,env是存在的但是JAVA_HOME,ANDROID_HOME就都不存在了。 另外还有一点,我自己用的ubuntu的环境做的这个网站执行流程没有问题(感觉没做什么特别的配置),换到fedora执行gradlew脚本就env就有问题了
zhxianbin 2015-01-25
  • 打赏
  • 举报
回复
/etc/profile 是适用于所有用户的
s_wenze 2015-01-25
  • 打赏
  • 举报
回复
引用 1 楼 zhxianbin 的回复:
用 source a.sh 呢?
env是有了,但是/etc/profile设置的环境变量还是没有
zhxianbin 2015-01-24
  • 打赏
  • 举报
回复
用 source a.sh 呢?

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧