Hallo Raketenwilli,
durch Ändern der Voraussetzungen kann man jede Aussage als falsch deklarieren 😉
Man kann $backup_db auch vorher durch den Fuzzi nudeln und das gefuzzte Ergebnis in den heredoc-String einsetzen.
Eine generierte Zeile über mehrere Zeilen Stringverkettung nachzuvollziehen kann nämlich auch Hirnstress auslösen.
Was ich eingestehen muss, ist, dass das $ Zeichen in einem ""-String oder Heredoc-String kritisch sein kann, wenn dahinter Buchstaben folgen. Ist hier nicht der Fall, aber trotzdem ist es natürlich besser, wenn ein Dollarzeichen entweder escaped wird oder man einen ''-String verwendet.
Alternativ könnte ich noch einen nowdoc-String anbieten, gekoppelt mit sprintf weil nun die Variablenersetzung nicht mehr geht:
$backupoption = sprintf(<<<'END'
| grep -vP "^USE \`%s\`;$"';
END, escape_fuzzi($backup_db));
Bei genauerer Betrachtung sag ich aber doch eher nö dazu. Dann lieber verketten (was PHP vermutlich beim Erstellen des Bytecodes ohnehin irgendwie optimifiziert).
Rolf
sumpsi - posui - obstruxi