У мене є скрипт Python, який приймає рядкові аргументи.
$ python script.py "one image.jpg" "another image.jpg"
Це працює як очікувалося.
Аргумент Python: ["one image.jpg", "another image.jpg"]
Якщо мені потрібно буде передавати імена файлів, я б це зробив,
$ python script.py $(ls "/some/dir/*.jpg")
Аргумент Python: ["one", "image.jpg", "another", "image.jpg"]
Якщо використовувати -Qв lsкоманді, я можу обернути результати між подвійними лапками. Однак залишення котирувань у сценарії Python, тобто.
$ python script.py $(ls -Q "/some/dir/*.jpg")
Аргумент Python: ['"one image.jpg"', '"another image.jpg"']
Як я повинен розгорнути lsназви файлів у власні рядки, щоб використовувати їх як аргументи? (як у моєму першому прикладі)
"$(ls -Q '/some/dir/*.jpg')". Однак є кращі альтернативи, як зазначено у відповідях.