문자열 인수를 허용하는 Python 스크립트가 있습니다.
$ python script.py "one image.jpg" "another image.jpg"
이것은 예상대로 작동합니다.
파이썬 인수 : ["one image.jpg", "another image.jpg"]
파일 이름을 전달해야하는 경우
$ python script.py $(ls "/some/dir/*.jpg")
파이썬 인수 : ["one", "image.jpg", "another", "image.jpg"]
-Q
of ls
명령을 사용하면 큰 따옴표로 결과를 묶을 수 있습니다. 그러나 따옴표는 Python 스크립트에서 이스케이프 상태로 유지됩니다.
$ python script.py $(ls -Q "/some/dir/*.jpg")
파이썬 인수 : ['"one image.jpg"', '"another image.jpg"']
ls
인수로 사용할 파일 이름을 적절한 문자열로 어떻게 확장해야 합니까? (첫 번째 예에서와 같이)
"$(ls -Q '/some/dir/*.jpg')"
. 그러나 답변에 명시된대로 더 나은 대안이 있습니다.