(Estoy hablando de la cáscara de los pescados , esp. De pescado de pescado ).
Para Bash / ZSH, tuve ~/.profilealgunas exportaciones, alias y otras cosas.
No quiero tener una configuración separada para las variables de entorno para Fish, quiero reutilizar mi ~/.profile. ¿Cómo?
En las preguntas frecuentes, se dice que al menos puedo importarlos a través de /usr/local/share/fish/tools/import_bash_settings.py, sin embargo, no me gusta ejecutar eso para cada instancia de Fish.

usermod -s /usr/local/bin/fishlogin $USEReschsh -s /usr/local/fishlogin $USERchsh: /usr/local/bin/fishlogin: non-standard shellnecesita agregarlo a/etc/shellsfish "$@"debe reemplazarse conexec -l fish "$@".execreemplaza el proceso bash con fish, mientras-lque lo haceargv[0]para fish is-fish, lo que indica que se trata de un shell de inicio de sesión.Mi solución actual (ver aquí para una versión quizás más reciente):
fuente
Para una solución mucho más limpia, puede usar el complemento env extranjero :
fuente
Puede usar bass , un complemento para ejecutar comandos bash en fish.
Instalar bajo .
Y luego, solo pon esto en tu
config.fish:fuente
.profileque tiene demasiado en juego .bassPor otro lado, interpreta cualquier script de shell bash y hace que se ejecuten en peces. Ciertamente tendrá un poco más de gastos generales, pero en mi experiencia es totalmente insignificante, pero su kilometraje puede variar.Traté de obtener .profile en el inicio de pescado y funcionó como un encanto para mí.
solo haz :
Reinicie el terminal o iterm2, pruebe un alias de
.profilea prueba.Nota: No funcionará con archivos .profile más complejos que usan una sintaxis no disponible en fish - credit @erb
fuente
.profilearchivos más complejos que usan una sintaxis no disponible en fish.Instale
dashy agregue esta línea a suconfig.fish:fuente
dash, soloshlo hará (lo que probablemente sea un guión)No puedes
fishLa sintaxis es muy diferente de la sintaxis de Bourne shell (/bin/sh). Esta es la misma razón por la que no se puede usar.profilecon otros shells no derivados de Bourne, comocshytcsh.fuente
.profile. Solo quiero obtener todos losexportmensajes de ahí. Una manera fácil sería paraegrep "^export"que ya fuera lo suficientemente bueno para mí. Otra solución más correcta sería esta . Además, por ejemplo, podría ejecutar esteimport_bash_settings.pyscript que probablemente haga algo similar. Entonces, obviamente hay muchas maneras de hacer esto. Con mi pregunta aquí, me preguntaba cómo otros han resuelto esto.Si su distribución usa PAM , puede establecer sus variables de entorno en su
~/.pam_environmentarchivo.fuente
Puedes comenzar Fish from Bash. Si hace eso, Fish heredará todas las variables de entorno (
export FOO=bar) de Bash. En este punto, Bash ya habrá leído tu.profile(o similar).fuente