When you’re shell scripting you really want to get your head wrapped around conditions. GNU provides a command to
test 1 -gt 0 # exits with exit code 0 echo $? # prints 0 test 0 -gt 1 # exits with exit code 1 echo $? # prints 1
$? env var is a bit awkward, you can chain the command with echo though.
test 1 -gt 0 && echo true # outputs true
Just be aware that it doesn’t output false when false.
But if you’re chaining with
&& you might as well use the [[ compound command.
[[ 1 -gt 0]] && echo true # outputs true
Now you’re using shell syntax directly.