6

Kernel#systemet alを使用して実行するシェルコマンドに環境変数を渡す方法は?

言います、私は走りたいです

%x{git checkout -f}

ただし、このコマンドは環境変数に依存しています$GIT_WORK_TREE。どのように設定しますか?

4

2 に答える 2

9

ENVサブシェルを呼び出す前に、Ruby のハッシュに変数を設定できるはずです。

ENV['GIT_WORK_TREE'] = 'foo'
`echo $GIT_WORK_TREE`

「foo」を返す必要があります。

詳細については、ENV[]=ドキュメントを参照してください。


[1] (こじ開ける) メイン: 0> ENV['GIT_WORK_TREE'] = 'foo'
「ふー」
[2] (こじ開ける) main: 0> `echo $GIT_WORK_TREE`
"ふー\n"
于 2013-04-21T04:29:27.090 に答える
1

Process.spawn環境を設定するために使用できます。

spawn({'GIT_WORK_TREE' => '/foo/bar'}, "git checkout -f")
于 2013-04-21T04:18:06.800 に答える