Wobei das escapeshellarg() im konkreten, speziellen Fall als „notlos“ erscheint.
(Fortsetzung)
Aber für SQLITE sähe das anders aus, denn das schreibt in seinem Dialekt die Verwendung von einfachen Quotas (also nicht Backticks) für alle Arten von Namen vor:
$backup_db = 'db0815';
$backupoption = ' | grep -vP '
. escapeshellarg(
'^USE \''
. $backup_db
. '\';$'
)
;
Resultat:
| grep -vP '^USE '\''db0815'\'';$'
Test:
echo -e "USE 'db0815';\nSonstwas" | grep -vP '^USE '\''db0815'\'';$'
Resultat:
Sonstwas
🆗