0
我需要通過在PHP sudo來發出此命令,但須藤需要有內部的撇號的命令。如何使用單引號(「內「,然後裏面」)
psql -c "create database radek with encoding 'unicode';" -U edumate template1
所以
sudo -su postgres 'psql -c "create database radek with encoding ''unicode'';" -U edumate template1'
給我一個錯誤
ERROR: syntax error at or near "unicode"
LINE 1: create database radek with encoding unicode;
^
我想說的是,錯誤是因爲Unicode是由」括起來。而sudo命令封裝b你也是。
UPDATE
逃跑的unicode \'unicode\'
不起作用。我得到>
,它掛在那兒永遠....
UPDATE2
最後的PHP代碼是一樣
exec("sudo -su postgres 'psql -c \"create database " . $db . " with encoding '\"'\"'unicode'\"'\"';\" -U edumate template1'", $output);
感謝@Matthew Scharley
對我來說就像一個魅力,謝謝 – Radek 2011-03-29 00:54:28
一個更多的想法...我從PHP調用sudo ...和'exec(「sudo -su postgres'psql -c」創建數據庫「$ db。」用'''''unicode''''''; \「-U edumate template1'」,$ output);'不起作用。以上的作品不是來自命令行。 – Radek 2011-03-29 01:00:34
@Radek:歡迎來到地獄;我們希望您享受您的逗留。您需要轉義** all **雙引號:'exec'「undoode'\」'\'''''''''' 「'; \」-U edumate template1'「,$ output);' – 2011-03-29 01:26:40