Skip to content

fix(macOS): convert setup.sh from zsh to bash, fix bad substitution#21

Merged
ulises-c merged 2 commits into
mainfrom
fix/macos-setup-sh
May 28, 2026
Merged

fix(macOS): convert setup.sh from zsh to bash, fix bad substitution#21
ulises-c merged 2 commits into
mainfrom
fix/macos-setup-sh

Conversation

@ulises-c

Copy link
Copy Markdown
Owner

Summary

  • Fixes bad substitution error on line 66 caused by ${=names} — a zsh-only word-splitting syntax that fails in bash
  • Converts shebang from #!/bin/zsh to #!/usr/bin/env bash
  • Replaces all ${=names} with unquoted $names for bash-compatible word splitting
  • Upgrades set -e to set -euo pipefail
  • Replaces all echo with printf
  • Updates [ ][[ ]] in bash code

Test plan

  • bash -n macOS/setup.sh passes (syntax check)
  • bash macOS/setup.sh --dry-run runs without bad substitution error
  • Dry-run output shows expected [dry-run] lines for all package install steps

🤖 Generated with Claude Code

ulises-c and others added 2 commits May 27, 2026 21:12
${=names} is zsh-only word-splitting syntax that throws "bad substitution"
in bash. Convert shebang to #!/usr/bin/env bash, replace all ${=names}
with unquoted $names, and apply bash style rules throughout
(set -euo pipefail, printf, [[ ]] brackets).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ulises-c
ulises-c marked this pull request as ready for review May 28, 2026 04:35
@ulises-c
ulises-c merged commit 3c04583 into main May 28, 2026
3 checks passed
@ulises-c
ulises-c deleted the fix/macos-setup-sh branch May 28, 2026 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant