On Thu, Jun 23, 2022 at 05:58:23PM -0400, Chet Ramey wrote:
> On 6/23/22 5:08 PM, Steffen Nurpmeso wrote:
> >    bash -c 'if [ ! ! hey = hey ]; then echo du; fi'

> Sure. This one isn't a common idiom for shell programmers, apparently.

I've seen it used in a math context, inside PS1.  Like so:

color=(
  "$(tput setaf 2)"  # 0 = green
  "$(tput setaf 1)"  # 1 = red
)
normal="$(tput sgr0)"
PS1='\[${color[!!$?]}\]$?\[$normal\] \h:\w\$ '

This writes the previous command's exit status in either green or red.
It "smashes" all nonzero exit codes to 1, using a double negation in
a C-style arithmetic context, in order to generate an array index for
the color.

I don't recall ever seeing it used in the way Steffen showed, though.

Reply via email to