私は互いに通信するさまざまなデバイス用のファームウェアを書いており、それらは両方ともUSBで私のMacに接続されています。を使用していzsh
ます。最初のものは常にオン/dev/tty.usbmodem1
で、いくつかの馬鹿げたmac-resonsでは、次のデバイスはすべてランダムなモデム番号になります。2番目のものがオンになって/dev/tty.usbmodem11
いるとしましょう。
次のコマンドを使用してファームウェアをアップロードしています。
tools/uploader.py --port='/dev/tty.usbmodem*' Images/image.file
usbmodemの下にデバイスが見つからない場合、最初のデバイスが表示されるまで待機します。
私が欲しいのは、このための正規表現を作ることである--port=
何かを返すことが、 /dev/tty.usbmodem1
最初のデバイス(常にオンusbmodem1
)に接続したまま、2番目のデバイスにファームウェアをアップロードできるようにします。
やってみた:
tools/uploader.py --port='/dev/tty.usbmodem* | egrep \"usbmodem1$\" -v' Images/image.file
しかし、このスクリプトが待機している間にデバイスを接続すると動作しません。(上で書いたように、スクリプトは最初のコマンドを使用してデバイスを待つことができます)。
--port
パラメーターを処理できることを知りたいだけです。
--port
は単一引用符で囲まれているuploader.py
ため、変更されずにに渡されるため、シェルはここでは役に立ちません。あなたが試すことができるのは、tools/uploader.py --port=/dev/tty.usbmodem2 --port=/dev/tty.usbmodem3 Images/image.file
働いている場合です。その場合、zshが役立つ複数の方法があります。