Скрипты bash и fish не совместимы, но я хотел бы иметь файл, который определяет некоторые переменные окружения, которые должны инициализироваться как bash, так и fish.
Мое предлагаемое решение - определить ~/.env
файл, который будет содержать список переменных среды, например:
PATH="$HOME/bin:$PATH"
FOO="bar"
Затем я мог бы просто найти его в bash и создать скрипт, который конвертирует его в формат fish и исходники в fish.
Я думал, что может быть лучшее решение, чем это, поэтому я прошу лучшего способа распределения переменных среды между рыбой bash.
Примечание: я использую OS X.
Вот пример .env
файла, который я хотел бы, чтобы и fish, и bash обрабатывали с использованием синтаксиса Смешной рыбы (предположим, ~ / bin и ~ / bin2 - пустые каталоги):
setenv _PATH "$PATH"
setenv PATH "$HOME/bin"
setenv PATH "$PATH:$HOME/bin2"
setenv PATH "$PATH:$_PATH"
PATH
исправление для рыбы работать с путями с пробелами? строки? другие вещи, чтобы высматривать?[
это встроенный в bash и fish, поэтому не нужно правильно задавать PATH для использования[
. Образец setenv должен работать со всеми символами в PATH, за исключением двоеточий и новых строк.tr
на/usr/bin/tr
I и используя.env
файл, указанный в моем вопросе, я получаю много ошибок при запуске fish. Я не думаю, что обработка PATH правильная.