github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/user-guide/bang-prefix.md (about) 1 # Bang Prefix 2 3 > Bang prefixing to reverse default actions 4 5 ## Description 6 7 Some builtins support a bang prefix, `!`, which provides a shorthand negative 8 action to default behavior. For example, `set` defines a variable where as 9 `!set` will undefine a variable. 10 11 Sometimes the shortcut will be logical, like a **not** operator, as is the case 12 with `and` where typically each result has to equal **true** normally or 13 **false** if used in `!and`. 14 15 Sometimes the shortcut will be more philosophical, such as with `config` where 16 normal operations is to query or set configuration but `!config` resets the 17 configuration to defaults (thus operating the same as `config default`). 18 19 Please read the respecting commands doc for details on whether it supports a 20 bang prefix and what the behavior of that prefix is. 21 22 ## See Also 23 24 * [Pipeline](../user-guide/pipeline.md): 25 Overview of what a "pipeline" is 26 * [Reserved Variables](../user-guide/reserved-vars.md): 27 Special variables reserved by Murex 28 * [`!` (not)](../parser/not-func.md): 29 Reads the STDIN and exit number from previous process and not's it's condition 30 * [`and`](../commands/and.md): 31 Returns `true` or `false` depending on whether multiple conditions are met 32 * [`config`](../commands/config.md): 33 Query or define Murex runtime settings 34 * [`or`](../commands/or.md): 35 Returns `true` or `false` depending on whether one code-block out of multiple ones supplied is successful or unsuccessful. 36 * [`set`](../commands/set.md): 37 Define a local variable and set it's value 38 39 <hr/> 40 41 This document was generated from [gen/user-guide/bang-prefix_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/user-guide/bang-prefix_doc.yaml).