getting-started.sh with no arguments dies on an empty argument from its own re-exec #12
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/deploy#12
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
bash getting-started.shwith no arguments dies immediately withgetting-started: unknown argument:(an empty argument) on a fresh NixOS install, after nix-shell has fetched git, age and jq.Evidence, from a laptop running the script as the README says, 2026-10-09:
Cause, read from the script: the re-exec line
exec nix-shell -p git age jq --run "bash $(printf '%q' "$0") $(printf '%q ' "$@")"runsprintf '%q 'once with no operands when$@is empty, which prints'', so the re-executed script receives one empty argument. The argument loop added in allod/deploy#11 rejects any argument it does not know, where the earlier[[ "${1:-}" == "--prepare-only" ]]tolerated it.--prepare-onlyand--forgeare unaffected, which is why every test of that change passed.Workaround until the fix lands:
nix-shell -p git age jq --run 'ALLOD_GETTING_STARTED_SHELL=1 bash getting-started.sh'.Landed on allod/deploy master: the re-exec builds its argument list only from real arguments (the getting-started.sh fix, on master since
832c183). Witnessed on the public install walk's second and third clean installs, 2026-10-09: bash getting-started.sh with no arguments runs through.