Сейчас проверил на 18.20.2, вот такой диалплан успешно создает файл /tmp/file.txt с содержимым "123":
Код: Выделить всё
[test]
exten => s,1,Set(foo=${SHELL(echo '123' > /tmp/file.txt)})
same => n,NoOp(${foo})
Переменная ${foo} при этом остается пустая, что логично. Но файл создается.