2015-09-28 75 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

相關問題