mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-01 06:53:39 +08:00
9299515f3e
darcs-hash:20071006102326-75c98-b168d709d54edb21c478ec2d69420468a2c08da1.gz
27 lines
622 B
Fish
27 lines
622 B
Fish
|
|
function eval -S -d "Evaluate parameters as a command"
|
|
|
|
# If we are in an interactive shell, eval should enable full
|
|
# job control since it should behave like the real code was
|
|
# executed. If we don't do this, commands that expect to be
|
|
# used interactively, like less, wont work using eval.
|
|
|
|
set -l mode
|
|
if status --is-interactive-job-control
|
|
set mode interactive
|
|
else
|
|
if status --is-full-job-control
|
|
set mode full
|
|
else
|
|
set mode none
|
|
end
|
|
end
|
|
if status --is-interactive
|
|
status --job-control full
|
|
end
|
|
|
|
echo begin\; $argv \;end eval2_inner \<\&3 3\<\&- | . 3<&0
|
|
|
|
status --job-control $mode
|
|
end
|