DEV Community

Cover image for Quick Test Your Bash Shell
🚀 Vu Dao 🚀
🚀 Vu Dao 🚀

Posted on

Quick Test Your Bash Shell

Challenge Yourself

See following bash code and answer what the output is without running it

https://github.com/vumdao/bash/blob/master/bash_test/wq.sh

#!/bin/bash
set -e

mutex_test() { return -23; }

mutex_test

echo $?

echo "Done"
Enter fullscreen mode Exit fullscreen mode

🌠 Blog · Github · Web · Linkedin · Group · Page · Twitter 🌠

Oldest comments (2)

Collapse
 
moopet profile image
Ben Sinclair

If you run it via bash or make it executable and run it, it'll presumably either display nothing (which is what I expect to happen because -23 is non-zero and set -e means bomb out whenever anything returns non-zero) or possibly display -23 (if it doesn't count in a function, but I don't think that's the case).

If you source/dot the file to run it in the current context, you'll end up closing your shell.

Collapse
 
bobbyiliev profile image
Bobby

I use the shellcheck tool as described here:

devdojo.com/guide/bash/debugging-a...

You can use their website directly or you could install the CLI tool as well.

It is very handy, it gives you some suggestions on some best practices too.