Автоматизируйте создание задания с помощью expect

Автоматизируйте создание задания с помощью expect

Я пытаюсь написать скрипт, который будет принимать время и имя процесса и передавать их в at для планирования задания. Я не могу отправить EOT.

    #! /usr/bin/expect
    # Usage: setupkill.exp time process.
    # press ctrl-D to finish the at command.

    set time [lindex $argv 0]
    set process [lindex $argv 1]

    spawn at $time
    expect "at>"
    send "/home/jagan/p/killprocess $process\r";
    expect "at>"
    send "^D";

    interact

Цель этого скрипта — завершить определенный процесс в заданное время.

решение1

Вы отправляете ctrl-D вот так:send "\004"

решение2

Вы можете использовать простой скрипт оболочки:

#! /bin/sh
# Usage: setupkill.sh time process.
echo /home/jagan/p/killprocess "$2" | at "$1"

(Извините, я не знаю, expectтак что это просто обходной путь.)

Связанный контент