【发布时间】:2019-03-22 00:21:26
【问题描述】:
在将其标记为重复之前,让我解释一下:
运行rvm 2.5.3 do ruby -v时,一切正常:
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin17]
例如ruby -v 给ruby 2.7.0dev (2019-03-18 trunk 67296) [x86_64-darwin17]
但是在运行 ruby -e "system('rvm 2.5.3 do ruby -v')" 时,我收到了旧的 Warning! PATH is not properly set up 大消息(即使它执行正确)。
【问题讨论】:
-
我认为 ruby 的
system使用 /bin/sh 执行命令,所以你得到你的环境变量,但没有鱼函数。 -
是的,做了一些测试,看起来不像
system在鱼壳中执行。但它将 ENV 变量导出到 spawn shell。因此,在父 shell 中设置它会使其在 spawn shell 中正确显示。感谢您让我了解为什么会这样。 (例如你说的)