Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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中执行unix命令_Php_Unix - Fatal编程技术网

如何在php中执行unix命令

如何在php中执行unix命令,php,unix,Php,Unix,我正试图在php脚本中执行unix命令,如下所示 <?php echo shell_exec('head -n 1 log_list_23072014|awk -F ',' '{print $2}''); ?> 但是我得到的错误信息 Parse error: syntax error, unexpected 'shell_exec' (T_STRING), expecting ',' or ';'. 无法找到“请帮助”。您使用的字符串无效,您必须在字符串中转义单引号: &l

我正试图在php脚本中执行unix命令,如下所示

<?php

echo shell_exec('head -n 1 log_list_23072014|awk  -F ',' '{print $2}'');

?>
但是我得到的错误信息

Parse error: syntax error, unexpected 'shell_exec' (T_STRING), expecting ',' or ';'.

无法找到“请帮助”。

您使用的字符串无效,您必须在字符串中转义单引号:

<?php echo shell_exec('head -n 1 log_list_23072014|awk  -F \',\' \'{print $2}\'');

您的命令中有一个额外的
。在变量中使用命令有助于识别错误,使用标准的
exec
命令是必需的

$cmd = 'head -n 1 log_list_23072014 | awk -F , \'{print $2}\'';
echo shell_exec($cmd);

将其更改为上面的格式应该可以工作。

shell_exec()
需要1个参数,您正在解析2.epects 1个参数意味着,我无法获取并且我传递的参数是正确的或错误的,或者请共享代码以获取第一行的第一列。您正在执行此操作:
shell_exec(第一项,第二项)和函数只能执行此操作
shell\u exec(FIRSTITEM)错误。只能传递一个
$cmd
。编辑:+1对于引用
exec
更好一些:不需要引用逗号,然后就不需要转义这些引号。此外,
awk
本身可以做与
head-n1
相当的事情:
'awk-F,\'NR==1{print$2;exit}\'
$cmd = 'head -n 1 log_list_23072014 | awk -F , \'{print $2}\'';
echo shell_exec($cmd);