sub | tlog | |
---|---|---|
4 | 4 | |
1,733 | 296 | |
0.0% | 1.7% | |
0.0 | 5.2 | |
over 2 years ago | 3 months ago | |
Shell | C | |
MIT License | 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.
sub
-
The Unreasonable Effectiveness of Makefiles
Scripts in bin have no documentation, no easy way to enumerate them, etc. There is definitely a time and a place for bin scripts, especially as things grow in complexity. However the beauty of just is that there's one file (the justfile) that defines all of your project's actions. You don't have to go spelunking into bin to figure out how to tweak a compiler flag, etc. And since just will run anything there's no reason why your complex bin scripts can't just be called from a simple one liner task in a justfile.
Could your write a bash script that does stuff like enumerate all the bin scripts, pull out documentation comments, etc.? Absolutely, and people have followed that pattern for a while (see https://github.com/qrush/sub) but it's a bunch of boilerplate to copy between projects. Just pulls out that logic into a simpler config file.
- Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks
- Bashly – Create beautiful bash scripts from simple YAML configuration
-
sd: my script directory
Many moons ago Basecamp published sub (github) which runs on a similar idea with different tradeoffs being chosen.
tlog
-
Help with installing tlog on Debian 10
https://salsa.debian.org/ascii/tlog/-/tree/debian/latest https://github.com/Scribery/tlog
- How to log bash commands in some simple way?
- Tlog: Terminal I/O Logger
-
Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks
Enterprises that requires logging of user actions will very likely not being doing it at the shell level, either through compiled in options, or shell history.
Instead, the Kernel has built in functionality called Auditd[0], which is capable of logging any and all executions, file or socket accesses, and much more. Along with included tooling for quickly finding and alerting on events[3].
Further, if terminal logging or playback is really required (usually not), it's generally done through pam with tlog[1]. Red Hat 8 and above come with built-in tlog support[2].
[0] https://access.redhat.com/documentation/en-us/red_hat_enterp...
[1] https://github.com/Scribery/tlog/blob/main/README.md
[2] https://access.redhat.com/documentation/en-us/red_hat_enterp...
[3] https://wiki.archlinux.org/title/Audit_framework
What are some alternatives?
bashly - Bash command line framework and CLI generator
trice - 🟢 super fast 🚀 and tiny 🐥 embedded device 𝘾 printf-like trace ✍ code, works also inside ⚡ interrupts ⚡ and real-time PC 💻 logging (trace ID visualization 👀)
shfmt - Dockernized shfmt. This formats shell script.
snoopy - Snoopy Command Logger is a small library that logs all program executions on your Linux/BSD system.
hofmod-cli - Hofstadter generator for Golang CLIs
fgprof - 🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.
tclmake - Partial make clone in pure Tcl
bash-preexec - ⚡ preexec and precmd functions for Bash just like Zsh.
vscode-bash-debug - Bash shell debugger extension for VSCode (based on bashdb)
cassette_deck - 🖭 CLI gif recorder, simplified
run - Task runner that helps you easily manage and invoke small scripts and wrappers