Suponha que você queira que seu script tome variáveis do ambiente:
#!/usr/bin/env bash
set -eu
if (( ${A-} )); then
echo true
else
echo false
fi
A expansão aritmética parece ser mais razoável aqui para lidar com (empty)
, 0
, 1
casos ou então:
if [ "${A-}" ] && [ "${A-}" != 0 ]; then
Mas então,
$ A='1 - 1' ./1.sh
false
Então, agora você pode basicamente alterar variáveis, o que geralmente não é permitido. O que você sugeriria? Como processar sinalizadores booleanos tirados de variáveis de ambiente?
Tags bash arithmetic