2015-09-28 67 views
-2

我们有一个脚本,其中env是ruby(在自定义位置),但是设置#!/ usr/bin/env,其中script包含一个变量,例如,是否有可能在shell脚本的“env”行中有一个环境变量?

#!/usr/bin/env ${NEWROOT}/location/of/ruby/bin/ruby 

调用脚本设置了NEWROOT,如果我用实际内容替换NEWROOT,例如,

#!/usr/bin/env /home/user/location/of/ruby/bin/ruby 

它的工作原理!

有谁知道为什么?

回答

1

参数替换由shell执行,而不是由内核执行。即使内核调用带有参数的env,shebang行仍将保持未被取消。

+0

对不起 - 这是我的所有副作用 - 我的意思是说谢谢。我意识到我不了解扩展规则等。 – Ben

相关问题