Você deseja usar a função exec no script expect para obter o mesmo comportamento que o $(...) no shell
Veja o exemplo abaixo:
Vamos usar o programa externo 4expect.sh abaixo que iremos alimentar sem o script expect :
#!/bin/sh
# Test program : let set filename as "4expect.sh"
# in the same directory where expect script will work
echo; read -p 'question: ' answer
echo "Got answer:>${answer}<"
E aqui nosso script expect que aguardará "pergunta" do programa externo e o alimentará com o total de arquivos no diretório atual (obterá a saída de programas externos ls e egrep ) que serão usados por expect ' send :
#!/usr/bin/expect -f
spawn -noecho ./4expect.sh
expect -re "question" { send -- [exec ls -la . | egrep "^total" ]\r }
interact
puts "\nDone.\n"
exit