как правильно планировать задачу, которая планирует задачу с помощью «at» (atd)? или как правильно указывать / бежать в bash

Я ищу способ создать командную строку, используя «at» (atd), чтобы запланировать задачу, которая планирует задачу «делать больше» после перезагрузки (однократная задача). Я провел некоторое исследование в Интернете и нашел несколько различных решений для решения основной проблемы или задачи. То, что я ищу прямо сейчас, – это способ заставить его летать, просто соединяясь «по расписанию».

Моя проблема в том, что я как-то теряюсь при цитировании / побеге в bash. Надеюсь, я смогу получить совет или намек.

что я получил до сих пор и что работает на ручном исполнении:

echo "somecommand -someOptions 2>&1 | mail -s \"$HOST after reboot: somecommand -someOptions\" my.mail@address.com" | at now +5 minutes ;\ #do admin stuff before reboot in less than 5 mins here ;\ touch /fastboot ; reboot 

как уже упоминалось, работает отлично. Теперь я хотел бы инкапсулировать все это в ДРУГОЙ NEW 'AT' COMMAND, так что бывшая командная строка может быть назначена на определенное время запуска и больше не требует ручного выполнения.

Я знаю, что это должно звучать глупо, и я знаю, что есть способы решить это проще, быстрее и лучше, но это не вопрос моего вопроса. Я предполагаю, что должно быть возможно инкапсулировать / включить все это в другую команду «at», поэтому я хотел бы узнать, как правильно процитировать / убедить ее, чтобы она работала.

Я пробовал это (не работает):

 echo "echo \"somecommand -someOptions 2>&1 | mail -s \\"$HOST after reboot: somecommand -someOptions\\" my.mail@address.com\" | at now +5 minutes ;\ #do admin stuff before reboot in less than 5 mins here ;\ touch /fastboot ; reboot ; " | at now + 1 minute 

Я вижу, что он расписывает 2 задания, делает ли админ перед перезагрузкой и перезагрузкой, но второй (позже) на задании скремблируется / разбивается из-за плохого цитирования / экранирования, я думаю. Я хотел бы узнать и узнать больше о том, что происходит здесь, и где я ошибся в побеге. Наверное, я мог бы использовать одинарные кавычки на внешнем, потому что в этом случае мне не нужны переменные разложения, но давайте предположим, что я тоже хотел бы использовать расширение переменной. В таком случае, как я должен избегать / цитировать эту вещь правильно?

2 Solutions collect form web for “как правильно планировать задачу, которая планирует задачу с помощью «at» (atd)? или как правильно указывать / бежать в bash”

Вы забыли обратную косую черту с двойной цитатой, когда вы написали \\" который должен быть \\\" . Но вы можете избежать этого, используя цитату из третьего типа оболочки, здесь-документ:

 at now + 1 minute <<\! echo "somecommand -someOptions 2>&1 | mail -s \"$HOST after reboot: somecommand -someOptions\" my.mail@address.com" | at now +5 minutes #do admin stuff before reboot in less than 5 mins here touch /fastboot ; reboot ! 

Оберните то, что вы хотите сделать в скрипте ( bash , perl , …). Отлаживаем скрипт. Скажите at запуске скрипта .:

 at now + 5 /home/user/bin/doit ^D 
  • Экранирование строк в ассоциативных массивах (bash)
  • Как избежать одиночных кавычек, правильно создающих псевдоним
  • Есть ли причина, по которой я получаю ^ [[A, когда я нажимаю стрелку на экране входа в консоль?
  • Backspace, del, клавиши со стрелками, не работающие с интерактивными программами в Tilda
  • Как обратная косая черта динамической строки в bash
  • unescape pipe в параметрах
  • Проблема с командами столбца и цветовыми кодами
  • Когда использовать escape-код bash ANSI C, например $ '\ n'
  • можно ли отправить управляющую последовательность в эмулятор терминала с помощью клавиатуры
  • Как использовать '(' токен при его использовании для поиска с помощью ag / awk?
  • Как удалить ненужные символы из файла, сгенерированного командой script в linux
  • Interesting Posts

    zsh: подстановка команды не наследует stdin из родительского

    Пароль root запрашивается для чего-либо после dist-upgrade

    Как искать? в человеке?

    Скрипт, чтобы определить, являются ли файлы изображениями

    Сеанс X-сервера CentOS7 зависает при отслеживании (или любой другой печати) большого количества данных через ssh

    Python3 не подходит в интерактивном режиме

    Как установить C ++ 11 в качестве моего компилятора по умолчанию?

    резервное копирование: какие исправления для резервного копирования перед обновлением / переустановкой

    В NixOS, как добавить пользователя в файл sudoers?

    error: слишком много слов “ в cat

    Каким образом swappiness влияет на долговечность карт памяти SDHC во встроенных компьютерах?

    «Ip route get» показывает неправильный IP-адрес источника

    Как И-слова в поиске zypper?

    Перенаправление после запуска процесса

    Возможно ли объединить –span-hosts с –no-parent в wget?

    Linux и Unix - лучшая ОС в мире.