store: Fish config.fish sets SHELL=/bin/bash intentionally for tool compatibility
This commit is contained in:
parent
5e6c73a7eb
commit
cd59e9be53
@ -0,0 +1,28 @@
|
||||
---
|
||||
id: fba35b41-aced-4f74-ae01-dfa062df0764
|
||||
type: configuration
|
||||
title: "Fish config.fish sets SHELL=/bin/bash intentionally for tool compatibility"
|
||||
tags: [fish, bash, workstation, shell, dotfiles, configuration]
|
||||
importance: 0.6
|
||||
confidence: 0.8
|
||||
created: "2026-02-28T04:53:15.735767+00:00"
|
||||
updated: "2026-02-28T04:53:15.735767+00:00"
|
||||
---
|
||||
|
||||
# Fish config.fish SHELL override
|
||||
|
||||
## Configuration
|
||||
`~/dotfiles/fish/config.fish` contains: `set -x SHELL /bin/bash`
|
||||
|
||||
## Rationale
|
||||
This is intentional. Fish is the interactive shell (set via `chsh` to `/usr/bin/fish`), but `$SHELL` is overridden to bash so scripting tools, agents, and automated processes use bash as expected. Many tools check `$SHELL` to determine which shell to invoke for scripts.
|
||||
|
||||
## Environment
|
||||
- Fish 4.2.0
|
||||
- Starship prompt
|
||||
- OS: Nobara Linux (Fedora-based)
|
||||
- Interactive shell: `/usr/bin/fish`
|
||||
- Scripting shell: `/bin/bash` (via $SHELL override)
|
||||
|
||||
## Key Insight
|
||||
`$SHELL` = the user's preferred scripting shell (bash), not the running interactive shell (fish). This separation avoids compatibility issues with tools that assume a POSIX shell.
|
||||
Loading…
Reference in New Issue
Block a user