https://bshchk.blek.codes/

this is a program that parses a bash file, collects all dependencies and then adds a snippet at the start of the file that would check if they are installed at the earliest point possible, to prevent situations where a program just fails in the middle of execution because some random dependency is not installed

i’ve originally made this to use it in another project, but might just as well share with y’all

  • @[email protected]
    link
    fedilink
    English
    4
    edit-2
    24 days ago

    Wanted to perhaps introduce you to using nix along with direnv and flakes to make your dependencies declarative rather than determined by factors beyond your control.

    In my bash scripts, I often create a .envrc file that points to my flake and sits alongside the bash file. Then, when I navigate into the directory of the script/project, I can make direnv and nix automatically load all dependencies (which virtually guarantees them eliminating the need to check for them).

    • aliceOP
      link
      321 days ago

      thats not exactly the point of bshchk. the idea is to have it run on any platform, in a single bash script, just as amber does (the another project mentioned earlier)

  • adr1anM
    link
    324 days ago

    This is great. Good complimentary functionality to ShellCheck (linter).

    • aliceOP
      link
      221 days ago

      its not exactly a complimentary functionality to shellcheck, it just uses it as a dependency