Я пытаюсь сцепить терке затем carácter «>» в строкуНевозможно напечатать специальный символ в PHP
Я использую код, но выход выглядит иначе, как я хочу,
<?php
$target_file="home.txt"
$caract = htmlspecialchars(">");
$command = escapeshellcmd('sudo python test.py '.$target_file.$caract.' out.txt');
$output = shell_exec($command);
echo $command;
?>
также я попробовал «& GT», но он дает те же результаты
здесь выход эхо $ команды; как это:
sudo python test.py home.txt \>\; out.txt
и я хочу это так:
sudo python test.py home.txt > out.txt
Не упаковывайте знак '>' в 'escapeshellcmd', функция точно выполняет то, что он должен делать, * escape *. –
Вы не генерируете HTML-код в опубликованном вами коде. Почему вы используете ['htmlspecialchars()'] (http://php.net/manual/en/function.htmlspecialchars.php)? – axiac
Основываясь на том, что Шарлотта сказала, что вы должны использовать 'escapeshellarg' только для имени файла, так что это' 'sudo python test.py '.escapeshellarg ($ target_file).' > out.txt'' Нет необходимости избегать текстовых литералов только входных переменных. – ArtisticPhoenix