Я использую команду at
, чтобы запланировать работу в будущем.Как получить результат команды в HERE_doc в Bash
DoCurlAt() {
if [ -n "${AuthToken:-}" ] ; then
$4 << 'EOF'
curl -s -H "${AuthHeader:-}" -H "$1" --data-urlencode "$2" "$3"
EOF
Exitcode=$?
fi
WriteLog Output Info "AT Output: $AtOutput Exitcode: $Exitcode"
}
Как я могу захватить результат at в переменной с именем $ AtOutput?
Я попытался с
AtOutput=$(bash $4 << EOF
curl -s -H "${AuthHeader:-}" -H "$1" --data-urlencode "$2" "$3"
EOF
)
Но что does't действительно дают никакого результата.
также попытался с:
AtOutput=$(curl -s -H "${AuthHeader:-}" -H "$1" --data-urlencode "$2" "$3" | at "$4")
Но я предпочел бы использовать здесь-док. функция вызывается с
DoCurlAt "$AcceptJson" "argString=$ArgString" "$ApiUrl/$ApiVersion/job/$JobUid/run" "$OneTime"
$ одноразовая ($ 4) может быть, например, «в 15:19 сегодня» Выход в основном что-то вроде этого:
job 7 at 2016-08-16 15:30
Вы не можете записать результат задания, запланированного позднее, с помощью 'at'. – chepner
Мне не нужен результат запланированного задания .... это довольно obviopus, что невозможно. Мне нужен вывод команды at. Пример «job 7 at 2016-08-16 15:30» – willemdh
В чем разница между двумя ветвями выражения 'if'? Трудно следить за тем, каковы ваши намерения. (Кстати, прочитайте [Bash FAQ 50] (http://mywiki.wooledge.org/BashFAQ/050).) – chepner