Answers:
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
-S或--no-scope-shadowing允许函数访问调用函数的变量。通常,函数中与调用函数中的变量具有相同名称的任何变量都会被“阴影化”,并且其内容与调用函数无关。