Я пишу сценарий ожидания 1.sh:
#!/usr/bin/expect
set yest [exec `date -d "yesterday" '+%Y%m%d'`]
send_user $yest
exit 1
И запускаю в Linux, использую expect -d ./1.sh
Но я получаю эту ошибку:
expect version 5.44.1.15
executing commands from command file ./1.sh
invalid command name "/bin/date"
while executing
"date -d "yesterday" '+%Y%m%d'"
invoked from within
"set yest [date -d "yesterday" '+%Y%m%d']"
Итак, как мнеисправить это. Я гуглил кое-что и понятия не имею.Я нахожу clock
вместо date
:
https://www.tcl.tk/man/tcl8.5/TclCmd/clock.htm
И я получаю способ запустить ожидаемое в bash:
#!/bin/bash
expect <<!
## expect code ##
!
Наконец, используйте этот способ, чтобы получить вчерашнюю строку в expect script
:
set yest [clock scan "yesterday"]
set yest1 [clock format $yest -format {%Y%m%d}]