私はzshを使用しており、とても気に入っていますが、bashを正しく評価する必要のあるコンパイルスクリプトを含むAndroidソースで多くの作業をしています。これらのスクリプトは、コンパイルの前に入手し、コンパイル中に使用される環境変数とシェル関数を定義する必要があります。
Zshはこれらのファイルを取得できず、emulate bash
スペースをヒットするたびにシェルが機能しなくなり、これらのエラーが大量に発生する場合(oh-my-zshを使用していますが、それが原因でしょうか?):
url-quote-magic:24: bad pattern: ( ):/(|/localhost)/*
これらのファイルを評価するためにbashに切り替えたり、bashインスタンスを呼び出して、ソース中に定義した新しい環境変数/関数をzshセッションにインポートしたりする方法はありますか?または、Androidで作業する必要があるたびにbashに切り替える運命にありますか?
編集:私自身の質問に対する答えを見つけました。別のシェルを使用してファイルを調達することは不可能なようですが、Androidマクロファイルが失敗した場合、このページで修正されました。
http://nilvec.com/building-cyanogen-from-source/
基本的に、設定unsetopt nomatch
するだけで、一致しないワイルドカードについて不平を言うのをやめるようにzshに要求します。これは、スクリプトを完了させるのに十分です。complete
1つのAndroidマクロに補完機能を追加するためのbash internalコマンドの使用に関するエラーが1つ残っていますが、ここでは絶対に重要ではありません。