J'utilise zsh et j'aime beaucoup, mais je travaille beaucoup avec la source Android qui a des scripts de compilation qui nécessitent que bash soit évalué correctement. Ces scripts doivent provenir de la compilation et définir les variables d'environnement et les fonctions shell utilisées lors de la compilation.
Zsh ne peut pas source ces fichiers, et si j'essaie d'émettre emulate bash
mon shell devient non fonctionnel avec beaucoup de ces erreurs à chaque fois que je frappe l'espace (j'utilise oh-my-zsh, c'est peut-être une cause?):
url-quote-magic:24: bad pattern: ( ):/(|/localhost)/*
Existe-t-il un moyen pour moi de ne pas basculer vers bash pour évaluer ces fichiers, ou d'appeler une instance bash et d'importer les nouvelles variables / fonctions d'environnement qu'elle a définies lors de l'approvisionnement dans ma session zsh? Ou je suis condamné à passer à bash chaque fois que je dois travailler sur Android?
EDIT : trouvé une réponse à ma propre question. Le sourcing d'un fichier à l'aide d'un autre shell ne semble pas possible, mais en cas d'échec des fichiers de macro Android, cette page a apporté un correctif:
http://nilvec.com/building-cyanogen-from-source/
Fondamentalement, la simple configuration unsetopt nomatch
demandera à zsh de cesser de se plaindre des caractères génériques inégalés, ce qui est suffisant pour compléter les scripts. Il restera une erreur, concernant l'utilisation de la complete
commande interne bash pour ajouter des capacités de complétion à une macro Android, mais ce n'est absolument pas critique ici.