在bash中,我可以做EDITOR=vim crontab -e
。 我可以在鱼壳中获得类似的效果吗?
begin; set -lx EDITOR vim; crontab -e; end
不明白为什么这不应该工作: env EDITOR=vim crontab -e
这完全绕过了壳。
这是来自文档
SOME_VAR=1 command produces an error: Unknown command "SOME_VAR=1".
使用env命令。
env SOME_VAR=1 command
你也可以在块中声明一个局部variables,并且不会绕过shell
begin set -lx SOME_VAR 1 command end
取决于function的定义,这可能会失败
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允许函数访问调用函数的variables。 通常情况下,函数中的所有与调用函数中variables名称相同的variables都是“隐藏的”,其内容与调用函数无关。