Skip to main content

wrap_sudo_command

Function wrap_sudo_command 

Source
pub fn wrap_sudo_command(command: &str, password: Option<&str>) -> String
Expand description

Wraps a command for execution with sudo privileges.

§Arguments

  • command - The command to wrap with sudo
  • password - Optional sudo password. If None, uses sudo -n (passwordless). If Some, uses printf | sudo -S to pipe the password.

§Returns

A string containing the wrapped command ready for execution.

§Examples

use ssh_mcp::ssh::elevation::wrap_sudo_command;

// Passwordless sudo
let cmd = wrap_sudo_command("apt update", None);
assert_eq!(cmd, "sudo -n sh -c 'apt update'");

// Sudo with password
let cmd = wrap_sudo_command("apt update", Some("mypassword"));
assert_eq!(cmd, "printf '%s\\n' 'mypassword' | sudo -S -p '' sh -c 'apt update'");