Documentation

    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