/ /コマンドからの魚のシェルパス引数 - ドッカー、魚

魚のシェルはコマンドからの引数を渡す - ドッカー、魚

私は魚を ドッカーマシン 魚の殻の中にドッカーのクライアントがいます。走れる docker-machine config dev それは私に渡すパラメータを与えるだろう docker。しかし、私がそれをやろうとしたとき docker (docker-machine config dev) ps それは言うだろう flag provided but not defined: --tls --tlscacert

私のシェルをbashに切り替えたら docker $(docker-machine config dev) ps 正常に動作します。では、ここでの構文はどういう意味ですか?

私は答えを求めてグーグルで試してみましたが、そのエラーはGoに関連しているようです。

ドッカーバージョン1.5.0、ビルドa8a31ef

魚、バージョン2.1.1

編集: ここでの出力は次のとおりです。 docker-machine config dev

--tls --tlscacert=/Users/me/.docker/machine/machines/dev/ca.pem --tlscert=/Users/me/.docker/machine/machines/dev/cert.pem --tlskey=/Users/me/.docker/machine/machines/dev/key.pem -H="tcp://192.168.99.102:2376"

回答:

回答№1の場合は3

あなたは走っています この問題.

簡単な答えは、bashはコマンド置換を任意の空白の別々の引数に分割し、魚は改行のみで分割することです。以来 docker-machine config dev 改行を出力しません。外側 docker コマンドはちょうど1つの巨大な議論を、埋め込まれたスペースで得る。

bashの動作をシミュレートするには、スペースを改行で置き換えることができます:

docker (docker-machine config dev | tr -s " " n) ps

それはあなたが望むことをするはずです。