php执行一个带有变量和字符串的回显

php执行一个带有变量和字符串的回显,php,Php,我想在php exec函数中用两个变量“hour”和“mins”来交换“30”和“16” $hour = 30; $mins = 16; exec('echo "30 16 * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -'); 然后就这样改变了: exec('echo "$hour $mins * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | c

我想在php exec函数中用两个变量“hour”和“mins”来交换“30”和“16”

$hour = 30;
$mins = 16;
exec('echo "30 16 * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -');
然后就这样改变了:

exec('echo "$hour $mins * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -');

我怎样才能做到这一点?谢谢

变量不会在单引号字符串中展开,只能在双引号字符串中展开。所以把你的引语换一下

exec("echo '$hour $mins * * * sudo /home/pi/raspberry-remote/./send 11010 1 1' | crontab -");

不填充单引号字符串中的变量。试试

exec('echo "'.$hour.' '.$mins.' * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -');


您可以使用concat字符串执行此操作

exec('echo "'.$hour.' ' .$mins.' * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -');exec('echo "$hour $mins * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -');
我推荐你。这不会失去可读性

$format = 'echo "%d %d * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -';
exec(sprintf($format, $hour, $mins));

只需像这样连接它:
'echo'.$hour'.$mins'.
$format = 'echo "%d %d * * * sudo /home/pi/raspberry-remote/./send 11010 1 1" | crontab -';
exec(sprintf($format, $hour, $mins));