PHP:在shell_exec中包含php变量

时间:2012-01-12 16:45:50

标签: php bash

我可以在shell_exec中包含php变量吗?

我想让这条线工作$ Dname是一个php变量

shell_exec(cat . $Dname.txt . | sed "s#,]}#]}#g" > $Dname2.txt);

2 个答案:

答案 0 :(得分:3)

您尚未引用shell命令,应该使用escapeshellarg()转义$Dname。注意我也已经转义sed表达式中的引号,但在这种情况下,它们可以更改为单引号而不会产生负面影响。

$Dname = escapeshellarg($Dname);
shell_exec("cat $Dname.txt . | sed \"s#,]}#]}#g\" > {$Dname}2.txt");

答案 1 :(得分:1)

您可以这样做,但与PHP中的任何其他字符串一样,这需要引用:

shell_exec('cat '.$Dname.'.txt | sed "s#,]}#]}#g" > '.$Dname2.'.txt');

如果需要,您应该使用escapeshellarg()来转义用户输入。