Почему моя команда «at» сразу выполняет оболочку и игнорирует ограничение по времени?

Я написал оболочку с именем t.sh Ее содержимое:

touch 88888

Я использую команду:

sh t.sh | at 03:13Jun15

После того, как я выполню это Команда, я получил это шоу на моем экране:

warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014

Это показывает довольно ясно, что это будет выполнено в ВС 15 июня 03:13:00 2014

Но когда я проверяю свою папку и я обнаружил, что файл 88888 существует там. Rmoved это и попробовать agian, все тот же результат.

Какие здесь проблемы? Будет ли это вещь bash / sh? Потому что я видел, что он говорит, будет выполнять / bin / sh?

4
задан 11 June 2014 в 18:52

1 ответ

at чтения управляют от стандартного входа, или из файла, если Вы указываете эти -f флаг. То, что sh t.sh | at [time] делает:

1. execute the shell script t.sh *right now*; 
2. pipe the output of the shell script to at. 

, Но сценарий не имеет никакого вывода, таким образом, нет ничего для выполнения в воскресенье.

то, Что Вы хотите, at 03:13Jun15 -f t.sh.

13
ответ дан 11 June 2014 в 18:52

Другие вопросы по тегам:

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