Я использую Command crate для получения файла.Я делаю ls -a
, используя тот же ящик команд, прежде чем я получу исходный код.Файл, который должен быть получен, присутствует, когда я перечисляю содержимое каталога.Но когда я получаю исходный код, я получаю сообщение об ошибке «Файл не найден».
Ошибка и журнал:
Running `target/debug/alias_cli h htop`
. .alias Cargo.lock src
.. .idea Cargo.toml target
thread 'main' panicked at 'Failed to source alias file: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libcore/result.rs:1009:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
./.alias%
Код:
fn source_alias_file(alias_file: &String) -> Result<(), Box<dyn Error>> {
print!("{}", alias_file);
Command::new("ls")
.arg("-a")
.spawn()
.expect("Failed to list");
Command::new("source")
.arg(alias_file)
.spawn()
.expect("Failed to source alias file");
Ok(())
}
Что здесь не так?
Я могу получить файл напрямую с терминала без каких-либо ошибок.