Если вы не уверены, содержит ли переменная целое число, вы можете проверить его значение:
#!/usr/bin/env bash
set -eu
vint() {
local v
for v; do
if echo "$v" | egrep '[^0-9]' &> /dev/null; then
printf '%s: %s: not an int\n' "$0" "$v" >&2
exit 1
fi
done
}
vint "${A-}"
if (( ${A-} )); then
echo true
else
echo false
fi
Это все, что я мог понять.
Глядя на http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html, видно, что вы можете сделать это, задав расширению подсказки %~
в PS1 целое число сразу после знака процента.
PS1='%F{cyan}%1~ %B%F{yellow}λ%f%b '
1 после процента даст вам то, что вы хотите.