Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php脚本上的sed bash命令_Php_Bash - Fatal编程技术网

php脚本上的sed bash命令

php脚本上的sed bash命令,php,bash,Php,Bash,我需要用一个简单的php脚本从dhcpd.conf文件中删除一些行。所以我尝试使用sed命令来实现这一点。 在终端上,我尝试使用此命令从第1行删除到第3行,它可以工作: sed -i '1,3d' pippo.txt 问题是我不明白如何使用sed传递一些php变量作为行号。 我需要像这样的东西: sed -i '$var1,$var2d' pippo.txt 有人能帮我在php pls上使用正确的sintax命令吗。 谢谢。只需使用双引号展开变量,并用大括号将变量括起来即可 var1=1 v

我需要用一个简单的php脚本从dhcpd.conf文件中删除一些行。所以我尝试使用sed命令来实现这一点。 在终端上,我尝试使用此命令从第1行删除到第3行,它可以工作:

sed -i '1,3d' pippo.txt
问题是我不明白如何使用sed传递一些php变量作为行号。 我需要像这样的东西:

sed -i '$var1,$var2d' pippo.txt
有人能帮我在php pls上使用正确的sintax命令吗。
谢谢。

只需使用双引号展开变量,并用大括号将变量括起来即可

var1=1
var2=2
sed -i "${var1},${var2}d" pippo.txt

您可以将变量定义为
$var2d
。如果需要使用变量
$var2
,后跟字母
d
,则必须使用大括号,如
${var2}d
中所示。但是,在这种情况下,
$var1
不需要这样做,因为没有歧义,但作为一种实践,最好遵循这一点。

只需使用双引号展开变量,并用大括号将变量括起来

var1=1
var2=2
sed -i "${var1},${var2}d" pippo.txt

您可以将变量定义为
$var2d
。如果需要使用变量
$var2
,后跟字母
d
,则必须使用大括号,如
${var2}d
中所示。但是,在这种情况下,
$var1
不需要这样做,因为没有歧义,但是作为一种实践,遵循它是很好的。

谢谢您的回答。我不明白为什么还是不起作用$var1=1$var2=2$output=shell_exec('sed-i“${var1},${var2}”pippo.txt');最外面的引号是单引号,因此里面的任何内容都不会扩展。要允许扩展内部,请交换单引号和双引号。顺便说一句,您的
sed
命令无论如何都是错误的。你想做什么??为了演示,下面将只复制第一行和第二行(但不产生任何输出)<代码>$var1=1$var2=2$output=shell_exec(“sed-i'${var1},${var2}p'pippo.txt”)我需要做的是从文件中删除一些行。例如,我需要通过php脚本使用sed命令从文件的第2行删除到第5行。当我尝试从终端使用sed命令指定行时,它是有效的,但是当我尝试在脚本上使用php变量时,它就不起作用了。未删除任何行。感谢您的回答。我不明白为什么还是不起作用$var1=1$var2=2$output=shell_exec('sed-i“${var1},${var2}”pippo.txt');最外面的引号是单引号,因此里面的任何内容都不会扩展。要允许扩展内部,请交换单引号和双引号。顺便说一句,您的
sed
命令无论如何都是错误的。你想做什么??为了演示,下面将只复制第一行和第二行(但不产生任何输出)<代码>$var1=1$var2=2$output=shell_exec(“sed-i'${var1},${var2}p'pippo.txt”)我需要做的是从文件中删除一些行。例如,我需要通过php脚本使用sed命令从文件的第2行删除到第5行。当我尝试从终端使用sed命令指定行时,它是有效的,但是当我尝试在脚本上使用php变量时,它就不起作用了。没有删除任何行。