When using the Fish shell, you may need to run commands with local variables, like the following (Bash):
RAILS_ENV=staging rake db:migrate
This doesn't work in Fish, as setting a local variable follows another syntax, using the set
command.
You can achieve the same result with the following syntax:
set -lx RAILS_ENV staging; rake db:migrate
The flags set the variable as local (l
) and export it to child processes (x
). You may not need the latter depending on the command you want to run.
It's a bit verbose, so you can define a function to make it easier
function v
set -lx $args
end
Then you can type:
v RAILS_ENV staging; rake db:migrate
If it is an external command, try the env command: