«при» командовании предполагаемое поведение? Запуск каждой команды вместо планирования

541
Mick Hardins

Я пытаюсь запланировать выполнение некоторых программ. Я использую эту команду:

./tests.o | at 15:00& 

Если я правильно понял, предполагаемое поведение было отложить исполнение до 15:00. Однако если я запускаю, topкак только я запускаю вышеупомянутую команду, я могу видеть, что уже тестирует.

Так как мне нужно запустить несколько тестов на общих ресурсах, мне интересно, как правильно использовать «at»?

Что я делаю неправильно?

7
Этот синтаксис (исключая `&`, который не нужен) был бы правильным, если бы `. / Tests.o` генерировал (выводил на свой стандартный вывод) команды, которые вы хотите запустить в 15:00. Kamil Maciorowski 6 лет назад 1

1 ответ на вопрос

10
AFH

atчитает команды со стандартного ввода. То, что вы делаете, - это запуск ./tests.oи подача его выходных строк в качестве команды для atпланирования. Кроме того, нет необходимости в трейлинге &, так как atвозвращается немедленно.

Что вам нужно это:

echo ./tests.o | at 15:00 

или же:

at 15:00 <<< ./tests.o 

Вам нужно будет использовать кавычки, если вы хотите, чтобы запланированная команда использовала перенаправление или другие функции оболочки, например:

at 15:00 <<< './tests.o > tests.log' 
Спасибо, теперь я вижу, что я делаю не так. @KamilMaciorowski спасибо за ваше разъяснение. Mick Hardins 6 лет назад 0
@KamilMaciorowski - я часто пересекаюсь с другими ответами и комментариями, поскольку я часто понимаю, что есть вещи, которые я должен перепроверить, пока я пишу свой ответ. Я не всегда проверяю, прежде чем отправлять сообщения. Извините, что отправил вас на почту. AFH 6 лет назад 0
Здесь-документ является еще одним удобным способом работы с метасимволами оболочки в команде. Barmar 6 лет назад 0
@Barmar - я использовал здесь-строку в своем ответе, и это был правильный ответ для проблемы, поставленной в вопросе, но, очевидно, здесь-документ был бы уместен, если бы было запланировано более одной команды одновременно. Я бы не использовал его для одной команды, чтобы избежать цитирования. AFH 6 лет назад 0
Я не критикую, просто упоминаю альтернативу, которая обобщает немного лучше. Barmar 6 лет назад 0
@ Бармар - я понял это, и я пытался уточнить ваш комментарий, иллюстрируя, где он будет более актуальным. AFH 6 лет назад 0

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