Да, команда spawn
не обрабатывает перенаправления оболочки (1)
Вы можете разрешить оболочке обрабатывать перенаправление:
/usr/local/bin/expect <<EOD
# ...
spawn ... ;# with no redirection
# ...
EOD
Или используйте команды ожидают log_file
и log_user
:
log_file -a $env(HOME)/logs/ADD.log
отправит выходные данные в этот файл журнала (добавляя, если вы не укажете флаг -noappend
). Это не отключает обычный вывод на стандартный вывод log_user 0
отключит обычный вывод на стандартный вывод. Это не изменяет ведение журнала, используя log_file
Итак:
/usr/local/bin/expect <<EOD
set timeout 10
log_user 0
log_file -a /home/arvind/logs/ADD.log
spawn $sec/add.zims.user ${1} "${2} ${3}"
# ...
END
(1) - команда exec
делает делать перенаправления, но не совсем как оболочку: см. exec
руководство