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

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

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

  • Как получить клавиши со стрелками в подсказке at>
  • Выполнить команду за две минуты
  • по команде: Garbled time
  • Убить все задания в очереди
  • Мне нужна помощь с командой «at»
  • Остановка одной команды, запланированной командой, кроме других
  • «At» (пакетная) задание + диалог = ничего
  • Что делает опция -b при использовании команды `at`, если что?
  • 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 - лучшая ОС в мире.