我正在使用以下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] 删除。
我来说两句