我正在尝试像这样执行命令
python train.py --conv-layers [(512, 10, 5), (512, 8, 4)]
但巴什发誓
-bash: syntax error near unexpected token `('
我需要train.py
收到这个。
如何实现?
答案1
[
、(
和 SPC 都是 shell 语法中的特殊字符bash
。例如,了解如何使用python
和之间的 SPC来分隔要传递给 的两个参数。/作为全局运算符很特殊,,是许多结构的一部分,例如, , ,等。train.py
/path/to/python
[
]
(
)
func () ...
<(...)
(subshell)
((arith))
要删除它们的特殊含义,可以使用引用/转义。引用运算符在 shell 之间有所不同。看如何像普通字符一样使用特殊字符?了解详情。
在bash
shell 中,您可以使用'...'
、"..."
、$'...'
和反斜杠。在这里,最好是:
python train.py --conv-layers '[(512, 10, 5), (512, 8, 4)]'
如果您打算[(512, 10, 5), (512, 8, 4)]
将其作为一个参数传递给/path/to/python
(在python
、train.py
和旁边--conv-layers
)。