A simple noscript to route between different llm providers and models
https://github.com/Jevs21/bash-ai
https://redd.it/1qskmov
@r_bash
https://github.com/Jevs21/bash-ai
https://redd.it/1qskmov
@r_bash
GitHub
GitHub - Jevs21/bash-ai: To easily route between different providers and models
To easily route between different providers and models - Jevs21/bash-ai
FUN.bash
I made public an configuration and function framework I've been using in bash for quite some time already. Do check out :)
Constructive criticism very welcome. Basically what it has is templates and you can have loadable modules for your own functions. A lot can be achieved probably with aliases and some other tools, but I have had fun with this one.
https://github.com/nuin-ctrl/FUN.bash
https://redd.it/1qsuy3g
@r_bash
I made public an configuration and function framework I've been using in bash for quite some time already. Do check out :)
Constructive criticism very welcome. Basically what it has is templates and you can have loadable modules for your own functions. A lot can be achieved probably with aliases and some other tools, but I have had fun with this one.
https://github.com/nuin-ctrl/FUN.bash
https://redd.it/1qsuy3g
@r_bash
GitHub
GitHub - nuin-ctrl/FUN.bash: Bash function module framework
Bash function module framework. Contribute to nuin-ctrl/FUN.bash development by creating an account on GitHub.
Nix: Defining Dependencies with Flakes
What do you think about that? What do you want to add?
## Nix: Defining Dependencies with Flakes
In the Python world, we have virtual environments. They are incredibly handy because they allow you to maintain multiple environments, each with its own custom dependencies and specific versions.
Almost every programming language has a similar concept, but what about Bash noscripts? While you can manually modify your
If you want a declarative way to define dependencies, Nix Flakes is the best solution I’ve found.
Admittedly, some parts of Nix can be difficult for newcomers to grasp. However, Large Language Models (LLMs) and your favorite search engine support you.
Personally, I think it’s time to say "goodbye" to Makefiles and noscripts that manually install tools.
Should you install everything via Nix?
My approach is to install the base tools via Nix and then let language-specific package managers handle the version pinning:
Go: `go.mod` / `go.sum`
JS:
Ruby: `Gemfile` / `Gemfile.lock`
....
https://redd.it/1qwfcnv
@r_bash
What do you think about that? What do you want to add?
## Nix: Defining Dependencies with Flakes
In the Python world, we have virtual environments. They are incredibly handy because they allow you to maintain multiple environments, each with its own custom dependencies and specific versions.
Almost every programming language has a similar concept, but what about Bash noscripts? While you can manually modify your
PATH—and for small projects, that might work—it quickly becomes difficult to manage.If you want a declarative way to define dependencies, Nix Flakes is the best solution I’ve found.
Admittedly, some parts of Nix can be difficult for newcomers to grasp. However, Large Language Models (LLMs) and your favorite search engine support you.
Personally, I think it’s time to say "goodbye" to Makefiles and noscripts that manually install tools.
Should you install everything via Nix?
My approach is to install the base tools via Nix and then let language-specific package managers handle the version pinning:
Go: `go.mod` / `go.sum`
JS:
package.json / package-lock.jsonRuby: `Gemfile` / `Gemfile.lock`
....
https://redd.it/1qwfcnv
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Is there a program to compress a shell noscript?
Is there a program that allows to "compile" a shell noscript to a file that still can be run by the normal shell interpreter, but is as small as possible in size? With measures like
* All indentation and comments removed
* Variables and functions renamed to one and two letter words
* Frequently used pieces of code assigned to aliases / variables
All I can find with google are common data compressors, like .zip.
https://redd.it/1qv2920
@r_bash
Is there a program that allows to "compile" a shell noscript to a file that still can be run by the normal shell interpreter, but is as small as possible in size? With measures like
* All indentation and comments removed
* Variables and functions renamed to one and two letter words
* Frequently used pieces of code assigned to aliases / variables
All I can find with google are common data compressors, like .zip.
https://redd.it/1qv2920
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
guys you should read the bash manual
https://www.justice.gov/epstein/files/DataSet%209/EFTA00315849.pdf
epstein got y'all covered
https://redd.it/1quky48
@r_bash
https://www.justice.gov/epstein/files/DataSet%209/EFTA00315849.pdf
epstein got y'all covered
https://redd.it/1quky48
@r_bash
Reddit
From the bash community on Reddit: guys you should read the bash manual
Explore this post and more from the bash community
FOSDEM 2026 - Amber Lang - Easily write Bash with a transpiler
https://fosdem.org/2026/schedule/event/GGLZS9-amber-lang-bash-transpiler/
https://redd.it/1quvf5w
@r_bash
https://fosdem.org/2026/schedule/event/GGLZS9-amber-lang-bash-transpiler/
https://redd.it/1quvf5w
@r_bash
fosdem.org
FOSDEM 2026 - Amber Lang - Easily write Bash with a transpiler
just exits the loop without any errors
https://preview.redd.it/ptw8jomon7hg1.png?width=1920&format=png&auto=webp&s=aacffd63ff1ea164ad69ea0da23d878b6cd99e12
is this bash bug?
it exits well for "unbound variable"
but for bad number just stops the loop, exactly like `break` called without any errors that I can catch, it reaches "we never got error",
this should be impossible to reach
zsh (on the right) does not behave the same way
and the noscript:
#!/bin/bash
set -eu # set or unset. does not make a difference
declare -i myint=8
for i; do
(exit 77)
echo handling: i=$i || exit 11
myint=$i || exit 22
echo good: "myint=${myint}" || exit 33
exit 55
done || echo loop got error: $?
echo we never got error
(
{
declare -i myint=8
for i; do
(exit 77)
echo handling: i=$i || exit 11
myint=$i || exit 22
echo good: "myint=${myint}" || exit 33
exit 55
done || echo loop got error: $?
echo NOW WE DONT REACH THIS LINE
} || echo NOT HERE: $?
) || echo BUT HERE WE FINALLY GET ERROR: $?
ignore the
https://redd.it/1quj2f4
@r_bash
https://preview.redd.it/ptw8jomon7hg1.png?width=1920&format=png&auto=webp&s=aacffd63ff1ea164ad69ea0da23d878b6cd99e12
is this bash bug?
it exits well for "unbound variable"
but for bad number just stops the loop, exactly like `break` called without any errors that I can catch, it reaches "we never got error",
this should be impossible to reach
zsh (on the right) does not behave the same way
and the noscript:
#!/bin/bash
set -eu # set or unset. does not make a difference
declare -i myint=8
for i; do
(exit 77)
echo handling: i=$i || exit 11
myint=$i || exit 22
echo good: "myint=${myint}" || exit 33
exit 55
done || echo loop got error: $?
echo we never got error
(
{
declare -i myint=8
for i; do
(exit 77)
echo handling: i=$i || exit 11
myint=$i || exit 22
echo good: "myint=${myint}" || exit 33
exit 55
done || echo loop got error: $?
echo NOW WE DONT REACH THIS LINE
} || echo NOT HERE: $?
) || echo BUT HERE WE FINALLY GET ERROR: $?
ignore the
(exit 77) I was testing if it'll exit from the loop when have set -ehttps://redd.it/1quj2f4
@r_bash
robohelp - A Fast & Friendly CLI for Linux!
Introducing robohelp - A Fast & Friendly CLI for Linux!
At the moment im building robohelp (not to be confused with adobe's robohelp), a lightweight command-line utility designed to make system maintenance on different Linux distributions faster and easier. Whether you’re updating packages, cleaning up unused stuff, or automating routine tasks, robohelp does it with a simple set of commands.
I tryed to build it with simplicity and efficiency in mind, robohelp makes your everyday Linux tasks smoother (hopefully).
Check it out on GitHub: https://github.com/H14d3n/robohelp
Hope you like it and if you want, you can leave a review down below.
https://redd.it/1qwl8mo
@r_bash
Introducing robohelp - A Fast & Friendly CLI for Linux!
At the moment im building robohelp (not to be confused with adobe's robohelp), a lightweight command-line utility designed to make system maintenance on different Linux distributions faster and easier. Whether you’re updating packages, cleaning up unused stuff, or automating routine tasks, robohelp does it with a simple set of commands.
I tryed to build it with simplicity and efficiency in mind, robohelp makes your everyday Linux tasks smoother (hopefully).
Check it out on GitHub: https://github.com/H14d3n/robohelp
Hope you like it and if you want, you can leave a review down below.
https://redd.it/1qwl8mo
@r_bash
GitHub
GitHub - H14d3n/robohelp: Fast and easy command-line utility (CLI tool)
Fast and easy command-line utility (CLI tool). Contribute to H14d3n/robohelp development by creating an account on GitHub.
A Bash wrapper I wrote to manage multiple Docker Compose projects (looking for feedback)
I’ve been running into the same annoyance on servers and homelab machines: managing a growing number of unrelated Docker Compose projects spread across different directories.
Rather than relying on aliases or strict directory conventions, I ended up writing a small Bash wrapper that lets me refer to Compose projects by name and run `docker compose` commands from anywhere.
Example usage:
dcompose media
dlogs website
ddown backup
From a Bash perspective, the noscript:
* auto-discovers Compose projects in a set of common base directories
* keeps a simple registry file for manually added paths
* is pure Bash
* is meant to work well over SSH and on servers
* tries to keep error messages and output readable in a terminal
Repo is here if you want to look at the noscript:
[https://github.com/kyanjeuring/dstack](https://github.com/kyanjeuring/dstack)
Happy to hear feedback.
https://redd.it/1qwrwkh
@r_bash
I’ve been running into the same annoyance on servers and homelab machines: managing a growing number of unrelated Docker Compose projects spread across different directories.
Rather than relying on aliases or strict directory conventions, I ended up writing a small Bash wrapper that lets me refer to Compose projects by name and run `docker compose` commands from anywhere.
Example usage:
dcompose media
dlogs website
ddown backup
From a Bash perspective, the noscript:
* auto-discovers Compose projects in a set of common base directories
* keeps a simple registry file for manually added paths
* is pure Bash
* is meant to work well over SSH and on servers
* tries to keep error messages and output readable in a terminal
Repo is here if you want to look at the noscript:
[https://github.com/kyanjeuring/dstack](https://github.com/kyanjeuring/dstack)
Happy to hear feedback.
https://redd.it/1qwrwkh
@r_bash
GitHub
GitHub - KyanJeuring/dstack: DStack is a small Bash tool that lets you manage multiple Docker Compose projects from anywhere in…
DStack is a small Bash tool that lets you manage multiple Docker Compose projects from anywhere in the terminal. - KyanJeuring/dstack
Thoughts from a system engineer that became a developer
Coding is a craft. At least, that's what it is for me.
I'm continuing my project of documenting my experience as I revisit Bash after years spent as a full-time developer. Can we apply the same mindset we use for complex software project to simple noscripts? Is there a benefit?
I wrote an article about how acquiring a testing mindset can help writing better code, even if at the end you write no test at all (you can read it here, if you like).
Feedback is appreciated.
Happy coding.
https://redd.it/1qwzx5p
@r_bash
Coding is a craft. At least, that's what it is for me.
I'm continuing my project of documenting my experience as I revisit Bash after years spent as a full-time developer. Can we apply the same mindset we use for complex software project to simple noscripts? Is there a benefit?
I wrote an article about how acquiring a testing mindset can help writing better code, even if at the end you write no test at all (you can read it here, if you like).
Feedback is appreciated.
Happy coding.
https://redd.it/1qwzx5p
@r_bash
Lost in IT | Kromg
On Bash Testing: Design, Not Just Safety
Testing Bash noscripts isn't only about catching bugs—it's about writing better code. Discover how the act of testing forces you to design noscripts that are modular, predictable, and maintainable.
Your bash noscripts are brittle - error handling in bash
https://notifox.com/blog/bash-error-handling
https://redd.it/1qxdk4v
@r_bash
https://notifox.com/blog/bash-error-handling
https://redd.it/1qxdk4v
@r_bash
Notifox
Error handling in bash | Notifox Blog
Most bash noscripts are very brittle because error handling is an afterthought. In this blogpost you'll learn about the easiest ways to gracefully catch and handle errors. Best practices and common pitfalls.