Se você quiser executar scripts do seu fish shell, não há necessidade de adicionar um terceiro contexto, tudo o que você precisa fazer é executar bash myscript.sh
.
Na página do bash man:
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
Se você não invocar um shell de login bash -l
ou um shell interativo bash
, mas usar um script como argumento, não haverá nenhum arquivo carregado.
Por exemplo, se o arquivo test.sh contiver
function bashtest {
echo "test"
}
bashtest
Se eu o executar usando o bash, ele será executado corretamente usando o bash como um interpretador.
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
$user@host ~> bash test.sh
$test
$user@host ~>
Se você quiser digitar um comando bash diretamente, você pode canalizar seu comando para bash da seguinte forma:
$user@host ~> echo "function bashtest { echo test; }; bashtest" | bash
$test
$user@host ~>