Documentation

    PLEASE NOTE: This document applies to an unreleased version of rash. It is strongly recommended that you only use official releases of rash, as unreleased versions are subject to changes and incompatibilities that will not be supported in the official releases.

    If you are using an official release version of Rash, you should refer to the documentation for your specific version.

    Documentation for other releases can be found by using the version selector in the bottom left of any doc page.

    Bultins

    By default, every execution of rash exposes two variables to the Context: {{ rash }} and {{ env }}.

    rash

    {{ rash }} variables are builtin values retrieved from execution context.

    - assert:
        that:
          - 'rash.args | length == 0'
          - 'rash.dir == "/"'
          - 'rash.path == "/builtins_example.rh"'
          - 'rash.user.uid == 1000'
          - 'rash.user.gid == 1000'
    

    src/vars/builtin.rs:

    #[derive(Serialize, Deserialize)]
    pub struct Builtins {
        /// Args passed from command line execution.
        args: Vec<String>,
        /// Script directory absolute path.
        dir: String,
        /// Script absolute path.
        path: String,
        user: UserInfo,
    }
    
    #[derive(Serialize, Deserialize)]
    struct UserInfo {
        uid: u32,
        gid: u32,
    }
    

    env

    You can access any environment var as {{ env.MY_ENV_VAR }}.

    Also, you can use command line arguments to pass environment variables:

    rash -e MY_ENV_VAR=foo example.rh