일부 프로그램의 매개변수에 괄호를 전달하는 방법은 무엇입니까?

일부 프로그램의 매개변수에 괄호를 전달하는 방법은 무엇입니까?

이런 명령을 실행하려고하는데

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

하지만 Bash는 맹세합니다.

-bash: syntax error near unexpected token `('

이걸 받아야 해요 train.py.

달성하는 방법?

답변1

[(SPC는 모두 쉘 구문의 특수 문자입니다 bash. 예를 들어 python에 전달하려는 두 매개변수 사이에 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

관련 정보