我在 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?
uj5u.com熱心網友回復:
單引號不允許環境變數擴展。改用雙引號(并轉義嵌套的引號)。喜歡,
psql -U $User -t -A -q -c "ALTER DATABASE \"$O_Name\" RENAME TO \"$N_Name\""
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/329922.html
標籤:linux PostgreSQL 猛击 变量 脚本
