Hey everyone! Since discovering Termux, I've been diving into Bash scripting. I've learned a few basics like variables, loops, and environment variables. I'm curious about a few things:
1. Is Bash considered a programming language? I heard it's a combination of sh and script.
2. Is Bash an interpreter? If so, what does that mean?
3. What makes Bash different from other programming languages?
4. Is Bash still practical to use today? Can I use it as I would with Python, C, or Java?
5. Is it possible to create my own Bash libraries?
6. Lastly, is Bash considered a low-level or high-level language? I get the feeling it's low-level, especially compared to others.
5 Answers
Bash is definitely a scripting language and can be considered a programming language too! It's mainly used for automation and interacting with the operating system. However, it is a bit clunky compared to languages like Python or Java, especially for more complex tasks. Just remember, for heavy lifting, other languages might serve you better!
Yeah, it's great for scripts and automation but can be tricky for more complex logic.
Bash is a high-level language in the sense that it abstracts a lot of the lower-level details. You can write libraries with Bash too by sourcing other scripts, but it’s not as straightforward as in languages like Python. There are definitely limits—like dealing with complex data structures can be a headache!
That's good to know! I might stick to Bash for simple scripts then.
For sure! It’s perfect for automation but not ideal for more complex applications.
Ultimately, the best use for Bash is for quick automation tasks on Unix systems. If you find yourself needing more complex functionalities, learning something like Python or Perl might be more beneficial. But don't underestimate Bash for its intended purposes—it's a powerful tool in the right hands!
Yeah, it seems like Bash is best for smaller scripts.
Agreed, it’s fantastic for sysadmins and quick tasks!
There's tons of info about Bash online! If you’re just starting, check out the Advanced Bash-Scripting Guide; it's super comprehensive. Just keep in mind that while Bash is flexible for shell use, languages like Python are better suited for more complex programming tasks.
Thanks for the tip! I’ll check out that guide.
Yeah, I've used it before; it really clarifies a lot!
Yes, to all your points! Bash programs are scripts, and it interprets commands line-by-line rather than compiling them. It's slower than compiled languages but excels in tying together different system commands, making it great for automation.
So it’s more like a glue language, then? That makes sense!
Exactly, it's perfect for scripting repetitive tasks!

What do you mean by clunky? I find it quite effective for automating simple tasks!