Как сказал @Barmer, рыба не заботится о совместимости, потому что одна из ее целей -
Sane Scripting
fish полностью поддерживает сценарии, а синтаксис простой, понятный и последовательный. Вы никогда не будете писать esac снова.
Рыболовы считают, что bash безумен, и я лично согласен.
Одна вещь, которую вы можете сделать, это хранить ваши функции bash в отдельных файлах и вызывать их как функции изнутри fish.
Пример:
До
#!/bin/bash
git-ci() {
...
}
some_other_function() {
...
}
* После 1018 *
#!/bin/bash
# file: git-ci
# Content of git-ci function here
#!/bin/bash
# file: some_other_function
# Content of some_other_function function here
Затем поместите ваши файлы сценариев где-нибудь на вашем пути. Теперь их можно звать из рыбы.
Надеюсь, это поможет.