com bash :
A=10
B=20
C=0
D=1
for var in A B C D; do
if [ ${!var} -eq 0 ]; then
echo "$var value is 0"
else
echo "Ok"
fi
done
Use -eq para comparar valores inteiros (ou use (( ${!var} == 0 )) ou (( !${!var} )) , que é a mesma coisa) e use ${!var} para obter o valor da variável cujo nome está armazenado na variável var .
Ou, um pouco mais puro, mas essencialmente o mesmo (ainda em bash ):
for var in A B C D E; do
case ${!var} in
0) printf '%s value is 0\n' "$var" ;;
*) echo 'Ok' ;;
esac
done
Isso trata os valores como strings, não como inteiros.