Em vez de fazer . /path/to/that/script.bash
, faça:
BASH_SOURCE=/path/to/that/script.bash emulate ksh -c '. $BASH_SOURCE'
emulate ksh -c '...'
executa o código em ksh
emulação (para que, por exemplo, os índices da matriz iniciem em 0 como no bash) e também garante que todas as funções definidas em herdam esse modo de emulação.
$BASH_SOURCE
em bash
refere-se ao arquivo que está sendo originado, portanto, fizemos uma pré-configuração dessa variável com o caminho do script.
O zsh
equivalente desse código bash
seria:
export SOME_VARIABLE=$0:h:P
( :h
dando a cabeça como em csh (o equivalente a dirname
) e :P
o equivalente a GNU readlink -f
).