bash-core
ngs
Our great sponsors
bash-core | ngs | |
---|---|---|
2 | 94 | |
3 | 1,360 | |
- | 4.0% | |
3.2 | 4.0 | |
7 months ago | 7 days ago | |
Shell | C | |
Mozilla Public License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bash-core
-
I'd like your opinion on my choice of Bash for data manipulation/cleaning and some stats
Error handling is also atrocious. Doing set -e fixes some issues, but there are plenty of valid cases in which one of your commands will have an error, and your script will continue execution like nothing ever happened. And, in the case of an error, as I'm sure you have realized, diagnostics are absolutely terrible. You're extremely lucky to get a line number (which I think was only added since Bash 5.1), but that's it. If you want anything more, like a stacktrace, you're stuck in the water. I have developed a library, bash-core, to help with this, but the stacktrace handling acts unexpectedly if there are errors within subshells.
-
Bash functions are better than I thought
I'm quite happy to see that something Bash-related is on Hacker News! Unfortunately it seems that I don't really agree with much the author...
While I do agree that it would be nice to be able to have 'local' functions and have inter-function cleanup work better, the logical conclusion for me was not to use function subshells. Since the use case is for larger programs (where different functions may want to have their own cleanup mechanisms), I'm opting to go for more of a library route. For example, I'm working on a Bash library that includes a function to allow different sources to add (and remove) functions to the same `TRAP`. A similar function may be useful, possibly involving the `RETURN` trap and the `-T` flag. Obviously, using a package manager for _Bash_ of all languages brings in a lot of overhead, but I think it can be quite powerful, especially with a potential "Bundle" feature that makes scripts work without the package manager.
Concerning specifically the use of subshells, (as other commenters have pointed out) it significantly reduces performance. I also disagree that dynamic scoping is necessarily bad for Bash. I find it quite useful when I need to use various common functions to manipulate a variable - since modifying and 'returning' variables from a function is usually either slow or verbose with Bash. Admittedly though, this feature is quite annoying at times - for example, most public functions in my Bash package manager[2] all have their variables prefixed with two underscores - because they `source` all the shell scripts of all package dependencies - so I want to be extra certain nothing weird happens
[1] https://github.com/hyperupcall/bash-core/blob/a17ab0a8b6070f...
ngs
- Next Generation Shell – a modern programming language for DevOps
-
Ask HN: Show me your half baked project
Next Generation Shell. As a shell, it's a programming language and a UI. Half baked: programming language - pretty much done, we use it at work; UI - just starting to work on.
Ananlysis of what's wrong with current shells' UIs and how to fix it - https://blog.ngs-lang.org/2023/09/30/ui-in-ngs/
Project - https://github.com/ngs-lang/ngs
Any help would be appreciated of course :)
-
AWS while being great at the underlying services, had by far the worst user experience ever existed on a platform at that scale
The plan for UI is at https://github.com/ngs-lang/ngs/wiki/UI-Design
- NGS v0.2.16 is out
-
How NGS started? – Next Generation Shell
The site is at https://ngs-lang.org/
-
Next Generation Shell
Project: https://github.com/ngs-lang/ngs
-
I'm trying to switch from Python to Lua so I can get into game development... where do I start?
There are number of new ones coming out ...and I'm curious of https://github.com/ngs-lang/ngs. As a language nerd, have you seen that?
- Monthly 'Shameless Self Promotion' thread - 2023/01
-
Telegraph and the Unix Shell
Thanks, took a note - https://github.com/ngs-lang/ngs/issues/621
- Building a simple shell in C – Part 3
What are some alternatives?
nsd - NGS Scripts Dumpster
nushell - A new type of shell
bash-object - Manipulate heterogenous data hierarchies in Bash.
oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
hasura-ci-cd-action
fx - Terminal JSON viewer & processor
bash2048 - 2048 in bash
ohmyzsh - 🙃 A delightful community-driven (with 2,300+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
lsofer - script to match similar functionality to lsof -i, and then some.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
basalt - The rock-solid Bash package manager.
bashly - Bash command line framework and CLI generator