Skip to content

fix: support fish as target login shell - #565

Merged
awphi merged 3 commits into
mainfrom
fish
Oct 30, 2026
Merged

awphi merged 3 commits into
mainfrom
fish

Conversation

@awphi

@awphi awphi commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Changes

  • Escapes the posix style variable interpolation that is parsed by /bin/sh from the outer login shell invocation which otherwise attempts to parse it. This was the cause of the failure for non-compliant shells like fish i.e.
❯ ssh pi5-rod -- '/bin/sh -c "exec ${SHELL:-/bin/sh} -lc \"echo foo\""' 
fish: ${ is not a valid variable in fish.
/bin/sh -c "exec ${SHELL:-/bin/sh} -lc \"echo foo\""

but now, with the escaped $:

❯ ssh pi5-rod -- '/bin/sh -c "exec \${SHELL:-/bin/sh} -lc \"echo foo\""'
foo

Checklist

  • 🤖 This change is covered by tests as required.
  • 🤹 All required manual testing has been performed.
  • 📖 All documentation updates are complete.

Signed-off-by: awphi <adam.hodson@arm.com>
@awphi
awphi requested a review from a team as a code owner October 28, 2026 15:14

@muchzill4 muchzill4 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

@awphi
awphi merged commit 37d223e into main Oct 30, 2026
5 checks passed
@awphi
awphi deleted the fish branch October 30, 2026 09:54
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.

2 participants