Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wish env -S was more portable. It's a newer feature of the coreutils env implementation and isn't supported elsewhere afaik.


You can use so-called "exec magic" instead of `env -S`. Here is an explanation with Python examples: https://dbohdan.com/scripts-with-dependencies#exec-magic (disclosure: my site). In short:

  #! /bin/sh
  "exec" "/usr/bin/env" "uv" "run" "--quiet" "--script" "$0" "$@"
  # /// script
  # dependencies = [
  #   "cowsay",
  # ]
  # ///
  import cowsay
  cowsay.cow("Hello, world!")
On systems that can't run uv, like NetBSD and OpenBSD, switch to pipx:

  #! /bin/sh
  "exec" "/usr/bin/env" "pipx" "run" "$0" "$@"
  # ...


FreeBSD 6.0 added 'env -S'. They have adopted a few different GNU inspired options recently, which I am happy about.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: