จะสร้างสตริงปกติ (ชื่อไฟล์ในกรณีของฉัน) ให้เป็นสตริงที่ Escape ของ Linux CLI/bash ได้อย่างไร
ตัวอย่าง:
"It's a great weather today" -> "It\'s\ a\ great\ weather\ today"
"Wind [Wine]" -> "Wind\ [Wine]"
"/Downloads/RPM's/" -> "/Downloads/RPM\'s/"
ฉันต้องการทราบว่ามีวิธีที่ง่ายกว่านี้หรือไม่ เนื่องจากฉันกำลังอ่านชื่อไฟล์ในสคริปต์ Python และเมื่อฉันส่งต่อไปยังคำสั่ง bash มันก็ล้มเหลว
ปัญหาคือจำนวนไฟล์มากเกินไป และฉันไม่สามารถเปลี่ยนชื่อหรือจัดการสตริงให้กับไฟล์เหล่านั้นได้
ฉันใช้ Python 2.7 บนระบบ CentOS 7
subprocess
หรือไม่? หากสคริปต์bash
เขียนอย่างถูกต้อง คุณก็ไม่จำเป็นต้องเขียน หากสคริปต์bash
ไม่ได้ เขียนอย่างถูกต้อง ไม่รับประกันว่าการทำเช่นนี้จะช่วยได้ - person chepner   schedule 28.04.2017foo="Wind [Wine]"; subprocess.call(["script.bash", foo])
. ไม่จำเป็นต้องมีการ Escape ของfoo
- person chepner   schedule 28.04.2017