回答:
begin; set -lx EDITOR vim; crontab -e; end
set -lx date '12/04/2012'
begin; set -lx date '12/04/2012'; ruby -e 'puts ENV["date"]'; end
env SOME_VAR=1 command
これがうまくいかない理由がわからない:
env EDITOR=vim crontab -e
それはシェルを完全にバイパスする。
env SOME_VAR=1 echo $SOME_VAR
be
関数の定義によっては、これは失敗する可能性があります
begin
set -lx RAILS_ENV staging
be rails r "p ENV['RAILS_ENV']"
end
動作させるには:
function be --description 'Runs bundle exec' --no-scope-shadowing
bundle exec $argv
end
--no-scope-shadowingオプションの説明をご覧ください
-Sまたは--no-scope-shadowingは、関数が呼び出し関数の変数にアクセスできるようにします。通常、呼び出し元の関数からの変数と同じ名前を持つ関数内の変数は「シャドウ」され、その内容は呼び出し元の関数から独立しています。