cat *.sh > all.sh
iria concatenar todos os arquivos para um. Isso é um pouco sujo, pois *.sh
também corresponderá a all.sh
se ele já existir, mas o redirecionamento será limpo all.sh
antes que cat
seja executado aqui.
Você também pode escrever um script para obter todos os outros (chame-o de includeall.sh
):
for f in *.sh; do
if [ "$f" != "includeall.sh" ]; then
. "$f"
fi
done
Em seguida, digite isso com . includeall.sh
. O if
está lá para evitar a inclusão de includeall
em si. Embora não seja uma má idéia colocar os scripts a.sh
.. z.sh
em um diretório separado. Isso tornaria a estrutura de diretórios mais limpa e dificultaria a origem acidental de qualquer script errado. for f in dir/*.sh; do . "$f"; done
nesse caso.