macro_rules! spawn_script {
    ($script:expr) => { ... };
    ($script:expr, $options:expr) => { ... };
    ($script:expr, $args:expr, $options:expr) => { ... };
}
Expand description

Enables to invoke the run_script::spawn function more easily without providing all input.

Arguments

  • script - The script content
  • args - Optional, script command line arguments. If provided, the last options argument must also be provided.
  • options - Optional, options provided to the script runner

Examples


use run_script::ScriptOptions;

fn main() {
    // simple call to run script with only the script text
    let child = run_script::spawn_script!(
        r#"
        echo "Test"
        exit 0
        "#
    ).unwrap();

    // run script invoked with the script text and options
    let options = ScriptOptions::new();
    let child = run_script::spawn_script!(
        r#"
        echo "Test"
        exit 0
        "#,
        &options
    ).unwrap();

    // run script invoked with all arguments
    let options = ScriptOptions::new();
    let child = run_script::spawn_script!(
        r#"
        echo "Test"
        exit 0
        "#,
        &vec!["ARG1".to_string(), "ARG2".to_string()],
        &options
    ).unwrap();
}