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

Enables to invoke the run_script::run_or_exit 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 the macro with only the script text
    let (output, error) = run_script::run_script_or_exit!(
        r#"
        echo "Test"
        exit 0
        "#
    );

    // macro invoked with the script text and options
    let options = ScriptOptions::new();
    let (output, error) = run_script::run_script_or_exit!(
        r#"
        echo "Test"
        exit 0
        "#,
        &options
    );

    // macro invoked with all arguments
    let options = ScriptOptions::new();
    let (output, error) = run_script::run_script_or_exit!(
        r#"
        echo "Test"
        exit 0
        "#,
        &vec!["ARG1".to_string(), "ARG2".to_string()],
        &options
    );
}