2
Bash script และหนีอักขระพิเศษในรหัสผ่าน
ฉันได้อ่านคำถามมากมายที่ถามไปแล้วที่นี่ แต่อย่างใดไม่มีอะไรที่ทำงานให้ฉัน ฉันมีสคริปต์ทุบตีที่ฉันต้องส่งรหัสผ่านที่ฐานข้อมูลการถ่ายโอนข้อมูลในเครื่องระยะไกลดังนั้นมันชอบ: !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p#8111*@uu( my_database | gzip -c > my_database.sql.gz สิ่งนี้คือรหัสผ่านนี้มีอักขระพิเศษทุกประเภท: #8111*@uu( ถ้าฉันเรียกใช้คำสั่งดังกล่าวข้างต้นโดยตรงจะต้องใช้รหัสผ่านภายในเครื่องหมายคำพูดเดียวแล้วมันทำงาน: เช่น /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'#8111*@uu(' my_database | gzip -c > my_database.sql.gz หากไม่มีเครื่องหมายอัญประกาศเดี่ยวฉันจะได้รับข้อผิดพลาดด้วยสำหรับ '(' ที่ส่วนท้าย) ฉันพยายามที่จะหลบหนีตัวละครด้วยรหัสผ่านเช่นนี้ !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'\#8111\*\@uu(' my_database …