pub struct RawVariable(/* private fields */);
Expand description
Raw reference to a shell variable.
Every method is unsafe because this type contains a raw pointer to an address owned by bash.
Whenever possible, use find
or find_as_string
functions to get the
value of a shell variable.
Implementations§
Source§impl RawVariable
impl RawVariable
Sourcepub unsafe fn is_array(&self) -> bool
pub unsafe fn is_array(&self) -> bool
Returns true
if the shell variable contains an indexed array.
§Safety
This method is unsafe because it does not check that the address of the shell variable is still valid.
Sourcepub unsafe fn is_assoc(&self) -> bool
pub unsafe fn is_assoc(&self) -> bool
Returns true
if the shell variable contains an associative array.
§Safety
This method is unsafe because it does not check that the address of the shell variable is still valid.
Sourcepub unsafe fn get(&self) -> Variable
pub unsafe fn get(&self) -> Variable
Extracts the contents of the shell variable, and returns a copy of the it.
§Safety
This method is unsafe because it does not check that the address of the shell variable is still valid.
Sourcepub unsafe fn as_str(&self) -> Option<&CStr>
pub unsafe fn as_str(&self) -> Option<&CStr>
Returns a reference to the string contained in the shell variable. If
the shell variable contains an array, returns None
.
§Safety
This method is unsafe for two reasons:
- It does not check that the address of the shell variable is still valid.
- The
CStr
reference is wrapping a pointer managed by bash, so its lifetime is not guaranteed.
Sourcepub unsafe fn array_items(&self) -> Vec<(i64, CString)>
pub unsafe fn array_items(&self) -> Vec<(i64, CString)>
Returns a vector with the items of the indexed array contained in the variable.
Each item in the vector is the index of the array and its value.
§Safety
This method is unsafe for two reasons:
- It does not check that the address of the shell variable is still valid.
- It does not check that the shell variable contains an indexed array.
Sourcepub unsafe fn assoc_items(
&self,
) -> impl Iterator<Item = (*const c_char, *const c_char)> + '_
pub unsafe fn assoc_items( &self, ) -> impl Iterator<Item = (*const c_char, *const c_char)> + '_
Returns an iterator over items of the associative array contained in the shell variable.
§Safety
This method is unsafe for two reasons:
- It does not check that the address of the shell variable is still valid.
- It does not check that the shell variable contains an associative array.