Kernel#system
et alを使用して実行するシェルコマンドに環境変数を渡す方法は?
言います、私は走りたいです
%x{git checkout -f}
ただし、このコマンドは環境変数に依存しています$GIT_WORK_TREE
。どのように設定しますか?
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"
Process.spawn
環境を設定するために使用できます。
spawn({'GIT_WORK_TREE' => '/foo/bar'}, "git checkout -f")