Метод current_dir
Метод current_dir устанавливает рабочую
директорию, в которой будет выполнена команда,
запускаемая через Command. Параметром
метод принимает путь к директории и возвращает
изменяемую ссылку на сам объект Command,
что позволяет строить цепочки вызовов.
Синтаксис
command.current_dir(path)
Пример
Давайте запустим команду pwd в директории
"/tmp" и выведем результат её работы:
use std::process::Command;
fn main()
{
let output = Command::new("pwd")
.current_dir("/tmp")
.output()
.expect("failed to execute command");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"/tmp"
Пример
Давайте проверим, что команда выполняется именно
в указанной директории, выведя её через команду
ls:
use std::process::Command;
fn main()
{
let output = Command::new("ls")
.current_dir("/")
.output()
.expect("failed to execute command");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"bin\nboot\ndev\netc\n..."