Расчет эхо-сигнала в текстовый файл [дубликат]

Я бы сделал так:

expect "~]#" { send "swadm install show AMM\r"}
expect "~]#" {
    if {[string match {*product-state=Applied*} $expect_out(buffer)]} {
        do-thing-1
    } else {
        do-thing-2
    }
}

После команды "show" просто дождитесь следующего запроса. Тогда все, что увидела expect, будет в expect_out(buffer), и вы можете использовать сопоставление строк (или regex-сопоставление, если хотите) на всем тексте буфера. Вам не нужно разделять его по строкам.

1
20.04.2018, 13:46
2 ответа

Intente esto usando bash moderno (no use acentos graves oexpr):

if ((var1 > 800)); then
    overtime=$((var1 - 800)) # variable assignation with the arithmetic 
    echo "Overtime: $overtime"
fi

O simplemente:

if ((var1 > 800)); then
    overtime="Overtime: $((var1 - 800))" # concatenation of string + arithmetic
fi

Comprobararitmética bash

1
27.01.2020, 23:44
if (( var1 > 800 )); then
    printf 'Overtime: %d\n' "$(( var1 - 800 ))" >>"$path"
fi

expry los acentos graves son anticuados, y ni siquiera necesita una sustitución de comando aquí.

0
27.01.2020, 23:44

Теги

Похожие вопросы