我在 bash 腳本中有一個用於重命名 base 的命令。這是工作,例子
psql -U $User -t -A -q -c 'ALTER DATABASE "Old_Name" RENAME TO "New_Name"'
但如果我這樣做 -
O_Name='Old_Name'
N_Name='New_Name'
psql -U $User -t -A -q -c 'ALTER DATABASE "$O_Name" RENAME TO "$N_Name"'
這是行不通的,我認為 sql 得到的是 $O_Name 而不是 Old_Name。如何將變量bash的值傳遞給sql?
單引號不允許環境變量擴展。改用雙引號(並轉義嵌套的引號)。喜歡,
psql -U $User -t -A -q -c "ALTER DATABASE \"$O_Name\" RENAME TO \"$N_Name\""
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句