Yes, so this is something to keep in mind. Most programming languages you encounter there encounter. I know like C will do this, javascript does this, python, I think does this. They will have this concept that zero will be false or falsy and non zero, you know, one or above or like a negative number, will be truthy. So it’ll resolve to true or false. If you coerce them into being a boolean. There are other languages out there, like rust for example, where you actually have to turn them into a boolean to check them. Um, which is cool. It’s a very strict type system. Um, but with bash you’ll notice this. You’re like, oh, what a weird, you know, programming language. That zero is true and anything non zero is false. This is because it’s borrowing from the concept of Unix process um, return codes. So when a process on like a Unix system is forked and exact, when the process dies, it can return a code. It’s an 8 bit number. So it can return a code from 0 to 2:55. There may not be a code. This would be if the process was killed unceremoniously, like through a signal or something. Um, but if it, you know, was able to return of its own accord, it will return a code. An 8 bit number. And then bash, in this case, the shell can check it. So just like external processes have exit codes, internal bash Functions will have return codes which are effectively the same thing. So zero means success, non zero means any sort of failure. So that’s just something to keep in mind when bouncing between, like, bash and other programming languages. You’re more closer to the process model, whereas other languages are more abstracted.