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).