ฉันมีสคริปต์ทุบตีที่ทำการติดตั้งเซิร์ฟเวอร์ Nextcloud โดยอัตโนมัติ
ในการเรียกใช้คำสั่ง MySQL ฉันใช้คำสั่ง mysql -e
user@hostname:~$ mysql -e "สร้างฐานข้อมูล âNextcloudDataBaseNameâ"
ฉันต้องการเก็บชื่อฐานข้อมูล ชื่อผู้ใช้ รหัสผ่าน ฯลฯ ในตัวแปร
วิธีเขียนคำสั่ง mysql -e กับตัวแปร?
user@hostname:~$ mysql -e "สร้างผู้ใช้ â$ชื่อผู้ใช้â@'localhost' ระบุโดย â$UserPassâ"
user@hostname:~$ mysql -e "สร้าง USER ${UserName}@'localhost' ที่ระบุโดย ${UserPass}"
คำสั่งสองคำสั่งด้านบนไม่ทำงาน
ข้อความแสดงข้อผิดพลาดพร้อมรหัสผ่านผู้ใช้ (รหัสผ่านทดสอบ) Â :
ข้อผิดพลาด 1064 (42000) ที่บรรทัด 1: คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่ตรงกับเวอร์ชันเซิร์ฟเวอร์ MariaDB ของคุณสำหรับไวยากรณ์ที่ถูกต้องเพื่อใช้ใกล้กับ 'qwerty1234'
ไวยากรณ์นี้ดูเหมือนจะใช้งานได้ :
user@hostname:~$ mysql -e "สร้างผู้ใช้ '${DbUserName}'@'localhost' ระบุโดย '${DbUserPass}'"
คำพูดง่ายๆ รอบๆ ชื่อตัวแปร แต่นี่เป็นไวยากรณ์ที่ดีที่สุด แนวทางปฏิบัติที่ดีที่สุดหรือไม่
ขอบคุณ :-)