Você pode criar condições e expressões dentro de $()
da seguinte forma:
echo "$( var=2; echo $var)"
no seu exemplo, você pode alterar a variável PS1
da seguinte forma:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w $(
status=$?; (( status != 0 )) && echo "[$status] "
)\$ '
se parece com:
jackman@b7q9bw1:~ $ echo hello
hello
jackman@b7q9bw1:~ $ sh -c 'exit 42'
jackman@b7q9bw1:~ [42] $