Advanced Shell Scripting Techniques: Automating Complex Tasks with Bash

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • ShellCheck

    ShellCheck, a static analysis tool for shell scripts

    Reminder of the handy ShellCheck:

    * https://www.shellcheck.net

    Even if you don't follow or agree with its advice, it can be a handy and quick second opinion / sanity check.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nushell

    A new type of shell

    While the tricks are nice, we also have the option of jumping to something like http://www.nushell.sh/ for an overall more sane environment.

  • libcnb.rs

    A framework for writing Cloud Native Buildpacks in Rust

    When people say “scripts” many time it’s right after “deploy” which is my target area. I’m not trying to take away from the bash conversation, I’m trying to find allies who care about writing the best possible “scripts” (and script adjacent programs) in one or more languages.

    One of the most recent things I worked on was a hybrid of bash and rust. So I still write a fair share of bash.

    > scripts will always have their place

    100% agree, hence all the caveats. I resonated with the article in that it was talking about ways to make your code faster, better, etc.

    It’s my experience that few aim to write a suite of bash scripts that stay in production for a decade+. It just grows that way because it was the lowest cost, lowest effort thing to do. To your point.

    I think content like this is a really good first step, but what about a second step when it’s no longer enough or you realize this adhoc “temporary fix” utility is now the linchpin of your team?

    One idea is to rewrite in another language. If not the whole thing, a subsection. I tried Ruby scripting (Ruby dev since 2006) and while I feel it’s better than bash (to maintain) it still has some strong downsides like the need to bootstrap with an interpreter. Which eats into the upsides.

    Bash and Ruby struggle with sharing or extending functionality. Bash relies on system commands and Ruby relies on gems/libraries. And in a lot of these adhoc weird situations I find myself in I cannot install packages let alone bundle install libraries. Then you mix in interoperability of gnu versus bsd tools and throw some windows in the mix and it can get really unwieldy really fast.

    On the deploy front here’s the CNB Rust project https://github.com/heroku/libcnb.rs

    And docs for people who might want to use (but not author) them https://github.com/heroku/buildpacks.

  • buildpacks

    Heroku Cloud Native Buildpacks (by heroku)

    When people say “scripts” many time it’s right after “deploy” which is my target area. I’m not trying to take away from the bash conversation, I’m trying to find allies who care about writing the best possible “scripts” (and script adjacent programs) in one or more languages.

    One of the most recent things I worked on was a hybrid of bash and rust. So I still write a fair share of bash.

    > scripts will always have their place

    100% agree, hence all the caveats. I resonated with the article in that it was talking about ways to make your code faster, better, etc.

    It’s my experience that few aim to write a suite of bash scripts that stay in production for a decade+. It just grows that way because it was the lowest cost, lowest effort thing to do. To your point.

    I think content like this is a really good first step, but what about a second step when it’s no longer enough or you realize this adhoc “temporary fix” utility is now the linchpin of your team?

    One idea is to rewrite in another language. If not the whole thing, a subsection. I tried Ruby scripting (Ruby dev since 2006) and while I feel it’s better than bash (to maintain) it still has some strong downsides like the need to bootstrap with an interpreter. Which eats into the upsides.

    Bash and Ruby struggle with sharing or extending functionality. Bash relies on system commands and Ruby relies on gems/libraries. And in a lot of these adhoc weird situations I find myself in I cannot install packages let alone bundle install libraries. Then you mix in interoperability of gnu versus bsd tools and throw some windows in the mix and it can get really unwieldy really fast.

    On the deploy front here’s the CNB Rust project https://github.com/heroku/libcnb.rs

    And docs for people who might want to use (but not author) them https://github.com/heroku/buildpacks.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Amber – the programming language compiled to Bash

    13 projects | news.ycombinator.com | 21 May 2024
  • The Containerization Brick for your Platform Engineering Toolbox

    2 projects | dev.to | 15 May 2024
  • Ask HN: Is there a GUI for bash shell?

    2 projects | news.ycombinator.com | 19 Apr 2024
  • Ask HN: A Bash guide for Posix programmers?

    1 project | news.ycombinator.com | 17 Dec 2023
  • Download Toddler for FREE: Toddler is a bash script that extracts all the TODO comments across your codebase into a markdown file.

    1 project | /r/ToddlerAI | 11 Dec 2023

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?