如何在php中执行unix命令
我正试图在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
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);