pub async fn exec_shell_command(cmd: &str) -> Result<String>
Execute a shell command, returning stdout (or stderr if stdout is empty).