pub fn eval_expr(expr: &Expr, scope: &mut Scope) -> EvalResult<Value>Expand description
Convenience function to evaluate an expression with a scope.
This is the sync evaluator: command substitution ($(...)) is not executed
here — the kernel’s async evaluator resolves those to literal values first.
A CommandSubst (or command-as-condition) node reaching this function is a
loud EvalError::NoExecutor, never a silent empty value.