use std::process::Command;
fn main() {
Command::new("sh")
.arg("-c")
.arg("echo Hello World!")
.spawn()
.unwrap();
}
Like this?
use std::process::Command;
fn main() {
Command::new("sh")
.arg("-c")
.arg("echo Hello World!")
.spawn()
.unwrap();
}
Like this?
OnceLock is the wrong primitive for this. Use a Mutex or an RwLock instead? You can initialize either of them with an empty array at declaration, so you don’t need the set_log function. In push_log, do a .lock().unwrap()
for a mutex or .write().unwrap()
for an rwlock to get mutable access to the vector.
Yes and no. While coreutils does provide an
echo
binary, shells also have a built-in for optimisation purposes.At first I had the code calling the binary directly, but then changed it to spawning a shell (and so using the builtin). It’s very cursed either way.