Czy ktoś mógłby mi wyjaśnić, dlaczego echo 'test \'hi\'' > testnie działa? Nie zapisuje hisię do pliku test. Wydaje się, że pojedyncze cytaty zostały właściwie usunięte, prawda?
Dzięki.
Czy ktoś mógłby mi wyjaśnić, dlaczego echo 'test \'hi\'' > testnie działa? Nie zapisuje hisię do pliku test. Wydaje się, że pojedyncze cytaty zostały właściwie usunięte, prawda?
Dzięki.
Odpowiedzi:
Nie można osadzać pojedynczych cudzysłowów w ciągach pojedynczych cudzysłowów. Zamiast tego musisz umieścić i uciec z pojedynczych cudzysłowów poza cytowany ciąg.
Na przykład:
echo 'test '\''hi'\' > test
To pisze:
testz 'test '(z jedną spacją po słowie test- podświetlanie składni nie odzwierciedla tego tutaj ...)\'się jako dosłowny cytathiz 'hi'.\'się jako dosłowny cytattest 'hi'zapis do pliku o nazwie test.echo "test 'hi'" > testzadziała również
hijest zwykle zmienną wprowadzaną przez użytkownika, dlatego jest to z cudzysłowami (przekazywanymi z PHP przez escapeshellcmd).