一部のプログラムのパラメータに括弧を渡すには?

一部のプログラムのパラメータに括弧を渡すには?

これらのコマンドを実行しようとしています。

python train.py --conv-layers [(512, 10, 5), (512, 8, 4)]

しかし、バッシュは誓う。

-bash: syntax error near unexpected token `('

これを受けなければなりませんtrain.py

達成する方法?

ベストアンサー1

[(SPCはどちらもシェル構文の特殊文字ですbash。たとえば、pythonに渡したい2つのパラメータ間でSPCを使用して分離する方法を学びます。 /はグローバル演算子として特別であり、などの多くの構造の一部です。train.py/path/to/python[]()func () ...<(...)(subshell)((arith))

特別な意味を削除するには、引用符/エスケープを使用できます。引用演算子はシェルによって異なります。バラより通常の文字のように特殊文字を使用する方法は?もっと学ぶ。

bashシェルでは'...'"..."および$'...'バックスラッシュを使用できます。ここでは、次のことをお勧めします。

python train.py --conv-layers '[(512, 10, 5), (512, 8, 4)]'

(、および横にある)[(512, 10, 5), (512, 8, 4)]にパラメータとして渡す場合。/path/to/pythonpythontrain.py--conv-layers

おすすめ記事