envsubst will really just perform variable substitution, not perform any logic or command substitution (e.g. $(hostname -f)). It&#x27;s also limited, from what I&#x27;ve seen, in support for other bash variable actions (such as defaults). You can also write loops with output similar to other templating languages here as well.