50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
---
|
|
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-03-01T16:44:07.115190+00:00"
|
|
relations:
|
|
- target: acfad6b5-9a2c-4e51-9525-04b4c4112e69
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.95
|
|
edge_id: 9d15e63e-b70c-4ed3-b2b0-63c0aa8c0c3b
|
|
- target: 66bac9cf-1b1e-42f5-903d-d28a9d5e1e1a
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.9
|
|
edge_id: 5dee8386-3a39-414a-8acc-ddf551cc8924
|
|
- target: e6158e53-af06-40f7-bfd1-32fc481a2b3f
|
|
type: RELATED_TO
|
|
direction: incoming
|
|
strength: 0.75
|
|
edge_id: d6e68af6-ba0f-49d9-a730-dbcc38497ac1
|
|
- target: b522690f-6e80-4e70-8c92-0ed14aded8ff
|
|
type: RELATED_TO
|
|
direction: incoming
|
|
strength: 0.8
|
|
edge_id: 53de981d-03de-4992-ad98-e7b75e72d75b
|
|
---
|
|
|
|
# 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.
|