Escape-последовательности не раскрываются в строках, они раскрываются только в строке литералы в коде.
Команда оболочки printf
обработает escape-последовательности в своем аргументе строки формата , так что вы можете сделать:
passthru("printf '$val'");
Вы также можете использовать строку оболочки, заключенную в кавычки с $''
, для обработки escape-последовательностей.
passthru("echo \$'$val'");