Tôi đang sử dụng zsh và rất thích nó, nhưng làm việc rất nhiều với nguồn Android có các tập lệnh biên dịch yêu cầu bash để được đánh giá chính xác. Các tập lệnh này cần được cung cấp trước khi biên dịch và xác định các biến môi trường và các hàm shell được sử dụng trong quá trình biên dịch.
Zsh không thể cung cấp các tệp này và nếu tôi cố gắng phát hành emulate bash
shell của mình trở nên không hoạt động với nhiều lỗi này mỗi khi tôi chạm vào không gian (tôi đang sử dụng oh-my-zsh, có lẽ đó là nguyên nhân?):
url-quote-magic:24: bad pattern: ( ):/(|/localhost)/*
Có cách nào để tôi không chuyển sang bash để đánh giá các tệp này hoặc gọi một cá thể bash và nhập các biến / hàm môi trường mới được xác định trong quá trình tìm nguồn vào phiên zsh của tôi không? Hoặc tôi cam chịu chuyển sang bash mỗi khi tôi cần làm việc trên Android?
EDIT : tìm thấy một câu trả lời cho câu hỏi của riêng tôi. Tìm nguồn tệp bằng cách sử dụng shell khác dường như là không thể, nhưng trong trường hợp tệp macro Android bị lỗi, trang này đã mang đến một sửa chữa:
http://nilvec.com/building-cyanogen-from-source/
Về cơ bản, chỉ cần cài đặt unsetopt nomatch
sẽ yêu cầu zsh ngừng phàn nàn về các ký tự đại diện chưa từng có, điều này đủ để đưa các kịch bản hoàn thành. Vẫn còn một lỗi, về việc sử dụng complete
lệnh bash Internal để thêm khả năng hoàn thành cho một macro Android, nhưng nó hoàn toàn không quan trọng ở đây.