Skip to content

install.sh takes its options only as --option=value: --prefix ~/x is refused as an unknown argument #1038

Closed

Description

@David-Noble-at-work

install.sh matches --prefix=*, --base=*, --team=* and --personal=* (lines 52 to 55), so the space form, the one most command lines take, falls to the unknown-argument branch and stops with exit 1 and the usage:

error: unknown argument: --prefix

Found 2026-10-09 discussing #1037 (lane 62 of #916), which changes install.sh. The house's scripts take both forms through Declare-BashScript's GNU getopt, which install.sh can't use: a fresh Mac has none. The owner, of an argument parser in the helper: "I do not want to maintain an argument parser without a drop-dead good reason and I'm not sure that macOS is a good enough reason." Of the form install.sh requires: "it is sad that the current implementation forces me to use an '='. that is not a natural state of affairs. it makes a natural move an error."

Resolution

Ruled 2026-10-09, offered install.sh's loop learning the space form for its four options, a few lines that run on bash 3.2 and no general parser (1), or leaving it (2): "1". Fixed in lane 62, which changes install.sh anyway.

Done when

  • each of --prefix, --base, --team and --personal works as --option value and as --option=value, and an option given last with no value is refused by name
  • scripts/Test-InstallScript.sh covers both forms and the refusal
  • the usage says both forms work

Plan and design documents

Kind Document
Plan docs/plans/chore/1037-install-sh-embeds-declare.md, lane 62's, which carries it

Epic: #453 · Feature: #798

Metadata

Metadata

Assignees

No one assigned

    Labels

    Epic:ReleaseDistributionRelease, distribution, and self-installbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions