PHP exec命令不适用于包含变量的终端命令

奥姆·希夫(Om Shiv)

我正在使用以下php代码。

$i = "1TEN";
$val=exec('cat '$i'.dssp -n | grep " ACC " | grep "[0-9]\+" -o | head -n 1');
echo $val;

它不会给出任何错误或任何输出。但是,以下代码运行良好:

$val=exec('cat 1TEN.dssp -n | grep " ACC " | grep "[0-9]\+" -o | head -n 1');
echo $val;

有人可以帮忙吗?

相似地,

$line=exec("tail $i.dssp -n $diff | awk -F" " -v var=$pos '{if ($2==var) print FNR}");
钾盐

之所以会收到此错误,是因为您以错误的方式在字符串中插入变量-您应使用双引号"指定您的字符串,并"在文本中转义\因此不会将其解释为字符串的结尾:

$val = exec("cat {$i}.dssp -n | grep \" ACC \" | grep \"[0-9]\+\" -o | head -n 1");

使用双引号"指定您的字符串,并"用单引号替换文本'

$val = exec("cat {$i}.dssp -n | grep ' ACC ' | grep '[0-9]\+' -o | head -n 1"); 

如果要使用单引号',可以将字符串连接起来,如下所示:

$val = exec('cat ' . $i . ' .dssp -n | grep " ACC " | grep "[0-9]\+" -o | head -n 1');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP exec命令不适用于包含变量的终端命令

来自分类Dev

php 函数“exec”不适用于窗口的 systeminfo 命令

来自分类Dev

opendkim命令不适用于PHP

来自分类Dev

不区分大小写的 Shell 命令不适用于 PHP Exec

来自分类Dev

PHP-CPP新扩展适用于cli'php'命令,但不适用于浏览器

来自分类Dev

用于PING的PHP exec()函数不适用于Cpanel

来自分类Dev

php shell_exec 不适用于 puppeteer

来自分类Dev

PHP exec适用于apache2但不适用于nginx

来自分类Dev

变量不适用于PHP中的glob功能

来自分类Dev

PHP Mysqli查询更新不适用于变量

来自分类Dev

PHP 变量不适用于 WHERE 子句

来自分类Dev

代码适用于静态 PHP 值,但不适用于动态变量

来自分类Dev

PHP system()适用于某些命令,但不是全部

来自分类Dev

适用于PHP,不适用于PHPUnit

来自分类Dev

适用于 PHP 但不适用于脚本

来自分类Dev

PHP下载不适用于&

来自分类Dev

更新不适用于php mysql

来自分类Dev

条件不适用于php

来自分类Dev

PHP下载不适用于&

来自分类Dev

PHP:if语句不适用于的表单

来自分类Dev

MySQL查询不适用于PHP

来自分类Dev

PHP forloop 不适用于数组

来自分类Dev

mysqli 不适用于 php 日期

来自分类Dev

PHP Json 不适用于 jsoncallback

来自分类Dev

php 不适用于 ubuntu 18.04

来自分类Dev

ajax 不适用于 php

来自分类Dev

PHP 查询不适用于 DELETE

来自分类Dev

PHP foreach 不适用于 MySQL

来自分类Dev

命令记录终端不适用于bash