mirror of
https://github.com/nushell/nushell.git
synced 2024-12-23 07:30:13 +01:00
Load env pwd (#7963)
# Description Fixes #7940 avoid `load-env` to change PWD # User-Facing Changes `{"PWD": whatever} | load-env` now fails
This commit is contained in:
parent
ec4370069a
commit
aef88aa03e
5
crates/nu-command/src/env/load_env.rs
vendored
5
crates/nu-command/src/env/load_env.rs
vendored
@ -47,10 +47,7 @@ impl Command for LoadEnv {
|
||||
}
|
||||
|
||||
if env_var == "PWD" {
|
||||
let cwd = current_dir(engine_state, stack)?;
|
||||
let rhs = rhs.as_string()?;
|
||||
let rhs = nu_path::expand_path_with(rhs, cwd);
|
||||
stack.add_env_var(env_var, Value::string(rhs.to_string_lossy(), call.head));
|
||||
return Err(ShellError::AutomaticEnvVarSetManually(env_var, call.head));
|
||||
} else {
|
||||
stack.add_env_var(env_var, rhs);
|
||||
}
|
||||
|
@ -99,6 +99,13 @@ fn load_env_file_pwd_env_var_fails() {
|
||||
assert!(actual.err.contains("automatic_env_var_set_manually"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn load_env_pwd_env_var_fails() {
|
||||
let actual = nu!(cwd: ".", r#"load-env { PWD : 'foo' }"#);
|
||||
|
||||
assert!(actual.err.contains("automatic_env_var_set_manually"));
|
||||
}
|
||||
|
||||
// FIXME: for some reason Nu is attempting to execute foo in `let-env FOO = foo`
|
||||
#[ignore]
|
||||
#[test]
|
||||
|
Loading…
Reference in New Issue
Block a user