swift-sh VS ShellCheck

Compare swift-sh vs ShellCheck and see what are their differences.

swift-sh

Easily script with third-party Swift dependencies. (by mxcl)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
swift-sh ShellCheck
4 488
1,772 34,995
- -
2.9 8.7
2 months ago 5 days ago
Swift Haskell
The Unlicense GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

swift-sh

Posts with mentions or reviews of swift-sh. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-13.
  • Ask HN: Share a shell script you like
    17 projects | news.ycombinator.com | 13 Aug 2023
  • Using Swift for Scripting
    1 project | news.ycombinator.com | 5 Jan 2023
    Yes, swift CLI will compile and run your swift file.

    But many people also want to use libraries. For Python, they use the system libraries or work within an environment with installed libraries (i.e., the library-install process happens at environment-configuration time).

    In Swift, the easiest way to consume libraries is using packages, but that requires a Package.swift declaring the project scope for the script file (which must comply with top-level and main-entrypoint code requirements).

    The easiest way to do that when scripting is a swift tool that manages the process of gathering your library dependencies, auto-generating a project, building the tool, and caching it all so there's no overhead the next time.

    The best available tool now is https://github.com/mxcl/swift-sh. It reads dependency information off import comments.

    It can also generate the project for you, if/when you want to build in XCode (e.g., move into a more complex application, perhaps requiring sandbox declarations).

    Working scripts are not always updated, so any script-build tool has to maintain backwards compatibility, but the swift package manager has changed a lot in recent versions. swift-sh seems to err on the side of backwards compatibility, and does not support e.g., the most recent dependency versioning styles.

    Swift-forum discussions about better support for scripting haven't resulted in any official tooling.

  • On Env Shebangs
    3 projects | news.ycombinator.com | 15 Apr 2022
  • Did anyone tried to run swift on raspberry pi before? I managed to install swift on my raspberry pi and print hello wold. Butbwhen i tried to do the same after 10 seconds it didnt work. Any idea why it didn’t print? DispatchQueue.main.asyncAfter(deadline: .now() + 10) { print(“Hello world”) }
    1 project | /r/swift | 31 Dec 2021
    Note that this has nothing to do with the Raspberry Pi. You'll have the same issue running on the command-line. If you wish to test your programs on your computer where you have more tools and horse-power, I find swift-sh gives a good command-line experience and is a great alternative to Playgrounds especially for small tests.

ShellCheck

Posts with mentions or reviews of ShellCheck. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • Ask HN: Is there a GUI for bash shell?
    2 projects | news.ycombinator.com | 19 Apr 2024
    ncurse, dialog, zenity[2]. i/o buffering may be an issue [3a,3b]

    Assuming using same account, use history command to show past commands[0a, 0b]

    'load random example' on shellcheck using own custom examples from history command.[1]

    --------

    [3a] : http://www.gnu.org/software/coreutils/manual/html_node/stdbu...

    [3b] : http://unix.stackexchange.com/questions/25372/how-to-turn-of...

    [2] : http//funprojects.blog/2021/01/25/zenity-command-line-dialogs/

    [1] : http://www.shellcheck.net/

    [0a] : http://www.tecmint.com/history-command-examples/

    [0b] : http://www.tecmint.com/remember-linux-commands/

    web based documentation: https://www.tecmint.com/linux-commands-cheat-sheet/

    commands grouped by typical usage patterns : https://www.tecmint.com/essential-linux-commands/

  • DevSecOps with AWS- IaC at scale - Building your own platform - Part 1
    8 projects | dev.to | 21 Mar 2024
    ... #************************** Terraform ************************************* ARG TERRAFORM_VERSION=1.7.3 RUN set -ex \ && curl -O https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip && unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /usr/local/bin/ RUN set -ex \ && mkdir -p $HOME/.terraform.d/plugin-cache && echo 'plugin_cache_dir = "$HOME/.terraform.d/plugin-cache"' > ~/.terraformrc #************************* Terragrunt ************************************* ARG TERRAGRUNT_VERSION=0.55.1 RUN set -ex \ && wget https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64 -q \ && mv terragrunt_linux_amd64 /usr/local/bin/terragrunt \ && chmod +x /usr/local/bin/terragrunt #*********************** Terramate **************************************** ARG TERRAMATE_VERSION=0.4.5 RUN set -ex \ && wget https://github.com/mineiros-io/terramate/releases/download/v${TERRAMATE_VERSION}/terramate_${TERRAMATE_VERSION}_linux_x86_64.tar.gz \ && tar -xzf terramate_${TERRAMATE_VERSION}_linux_x86_64.tar.gz \ && mv terramate /usr/local/bin/terramate \ && chmod +x /usr/local/bin/terramate #*********************** tfsec ******************************************** ARG TFSEC_VERSION=1.28.5 RUN set -ex \ && wget https://github.com/aquasecurity/tfsec/releases/download/v${TFSEC_VERSION}/tfsec-linux-amd64 \ && mv tfsec-linux-amd64 /usr/local/bin/tfsec \ && chmod +x /usr/local/bin/tfsec \ && terragrunt --version #**********************Terraform docs ************************************ ARG TERRRAFORM_DOCS_VERSION=0.17.0 RUN set -ex \ && curl -sSLo ./terraform-docs.tar.gz https://terraform-docs.io/dl/v${TERRRAFORM_DOCS_VERSION}/terraform-docs-v${TERRRAFORM_DOCS_VERSION}-$(uname)-amd64.tar.gz \ && tar -xzf terraform-docs.tar.gz \ && chmod +x terraform-docs \ && mv terraform-docs /usr/local/bin/terraform-docs #********************* ShellCheck ***************************************** ARG SHELLCHECK_VERSION="stable" RUN set -ex \ && wget -qO- "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION?}/shellcheck-${SHELLCHECK_VERSION?}.linux.x86_64.tar.xz" | tar -xJv \ && cp "shellcheck-${SHELLCHECK_VERSION}/shellcheck" /usr/bin/ \ && shellcheck --version ...
  • Ask HN: Popular open source tool originally written in Haskell?
    3 projects | news.ycombinator.com | 10 Feb 2024
    ShellCheck: https://github.com/koalaman/shellcheck
  • Google ZX – A tool for writing better scripts
    8 projects | news.ycombinator.com | 9 Feb 2024
    If I want to write better shell scripts I usually run shellcheck and adjust accordingly or if I need facilities not provided by the shell i switch to a full fledged programming language. Ans oh yes, `sh` is present almost on every BSD and Linux box for free so I consider it an important thing to at least be comfortable with.

    shellcheck: https://www.shellcheck.net/

  • How I use Nix in my Elm projects
    8 projects | dev.to | 19 Dec 2023
    When I run nix-shell at the root of the project it puts me in a Nix shell that contains, among other programs, caddy and shellcheck. Notice that in the shellHook I add the project's shell scripts to the PATH. So once I'm in the Nix shell I can, among other things:
  • Ask HN: A Bash guide for Posix programmers?
    1 project | news.ycombinator.com | 17 Dec 2023
  • Regex support to list modules in .cabal?
    1 project | /r/haskell | 4 Dec 2023
    I have also seen some projects on github like ShellCheck which first make a library, expose all the modules and then simple add that do build-depends of the final executable. Is this the recommended approach than having just one executable and adding all the modules to other-modules:?
  • Shellcheck finds bugs in your shell scripts
    11 projects | news.ycombinator.com | 23 Nov 2023
    The error checks can be pretty arcane:

       https://github.com/koalaman/shellcheck/wiki/Checks
  • Is there a syntax checker?
    2 projects | /r/groff | 24 Oct 2023
    Similar to for instance shellcheck to check the syntax of shell scripts, is there an equivalent for the set of roff commands typically used in a (Linux) man page? I'm aware that e.g. pandoc permits the conversion of an other format (e.g., org) to both roff man and roff ms.
  • Shellcheck – finds bugs in your shell scripts
    1 project | news.ycombinator.com | 6 Oct 2023

What are some alternatives?

When comparing swift-sh and ShellCheck you can also consider the following projects:

resholve - a shell resolver? :) (find and resolve shell script dependencies)

bash-language-server - A language server for Bash

stderred - stderr in red

shfmt - Dockernized shfmt. This formats shell script.

dotfiles

shellharden - The corrective bash syntax highlighter

spellbook - 🪄 Shell and Powershell scripts registry

shfmt - A shell formatter (sh/bash/mksh)

Alamofire - Elegant HTTP Networking in Swift

PowerShell - PowerShell for every system!

SwiftBar - Powerful macOS menu bar customization tool

efm-langserver - General purpose Language Server