Удалить файл в указанное время не интерактивно

У меня есть сценарий, который при выполнении генерирует временный файл, который я хочу удалить через 10 минут после завершения скрипта.

Я посмотрел на команду «at», которая делает то, что мне нужно, но требует интерактивного ввода. Есть ли способ сделать это неинтерактивно?

  • Как получить клавиши со стрелками в подсказке at>
  • Может ли команда «at» выполнить любой скрипт оболочки?
  • «At» (пакетная) задание + диалог = ничего
  • по команде: Garbled time
  • Сбросить atq до нуля?
  • как правильно планировать задачу, которая планирует задачу с помощью «at» (atd)? или как правильно указывать / бежать в bash
  • Почему `at` предупреждает меня, что команды будут выполняться с помощью / bin / sh? Что делать, если я хочу другую оболочку?
  • Выполнить команду за две минуты
  • 2 Solutions collect form web for “Удалить файл в указанное время не интерактивно”

    От man at :

    в командах чтения и партии из стандартного ввода или указанного файла, которые должны быть выполнены позднее, используя / bin / sh .

    Поэтому просто отправьте команду, которую вы вводите в интерактивном режиме, at качестве входных данных:

     echo 'rm that.file' | at now+10min 

    Альтернативой является использование команды sleep . Например, «sleep 600 && rm that.file» удалит этот файл через 600 секунд («man sleep» показывает более подробный пример).

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