我有一个 PHP 脚本,它通过使用反引号运算符在 Bash 中执行命令来从文件中检索 200 行。代码如下所示:
$endline = `(shell execution that returns a number here)`;
$line = $endline - "200";
$lines = "sed -n '".$line.", ".$endline." p' log.txt";
echo $lines;
$file = `$lines`;
echo $file;
此代码返回$lines
as sed -n '1800, 2000 p' log.txt
,但$file
不返回任何结果。当直接sed -n '1800, 2000 p' log.txt
在 Bash 终端中使用时,我得到了预期的结果。
这里做错了什么?字符是否'
必须转义?
编辑: shell脚本在数字后添加了一个空格,因此误读了它。