Может ли команда «at» выполнить любой скрипт оболочки?

Я создал java-программу, которая показала диалог сообщения. После нажатия OK он закрывается и выполнение программы заканчивается.

Затем я создал сценарий оболочки alarm.sh который выполнил программу. Я тестировал его, и он работал:

 $ alarm.sh "-i It's time to ring up the revenue service" 

Однако когда я выполнил:

 $ echo "alarm.sh \"-i It's time to ring up the revenue service\"" | at 15:00 

Диалоговое окно сообщения не всплывало в 15:00, хотя задание было запланировано. Зачем? Как «at» выполняет сценарии оболочки и каковы его ограничения?

2 Solutions collect form web for “Может ли команда «at» выполнить любой скрипт оболочки?”

Нет, at может запускать неинтерактивные скрипты.

Эти сценарии будут запускаться без подключения к терминалу, откуда вы запустили команду at . Если программа выводит что-то в поток stdout и / или stderr , этот вывод будет отправлен вам по почте.

Некоторые переменные не сохраняются при запуске скрипта, особенно в DISPLAY , что является причиной неудачной попытки. Возможно, вы посмотрите на свою почту, чтобы узнать, сообщается ли об ошибке. Если нет, sendmail или подобное, вероятно, не установлено / не настроено.

Если вы хотите использовать текущий X11-дисплей, когда команда будет запущена, вы можете установить его таким образом:

 echo "DISPLAY=$DISPLAY alarm.sh \"-i It's time to ring up the revenue service\"" | at 15:00 

at может не иметь того, что ваш текущий рабочий каталог является его рабочим каталогом. Укажите полный путь к alarm.sh :

 echo "/path/to/alarm.sh '-i There is no alarm; only Zuul'" | at 15:00 
  • bc удаляет десятичную точку
  • Запустить сценарий оболочки из crontab после остановки / запуска / перезапуска сервера
  • Может кто-нибудь уточнить этот сценарий Bash
  • Запустить скрипт на блокировку экрана в KDE
  • Вычитание времени Bash
  • Сравните файлы, которые находятся в каталоге 1, но не в каталоге 2?
  • Ошибка Exec vs source на ==
  • bash если вопрос поведения инструкции
  • Петля для snmpwalk в bash
  • Добавьте строки в начало и конец огромного файла
  • В Unix говорят, в чем разница между скриптом оболочки и исполняемым файлом?
  • Как выводить файл и игнорировать строки, начинающиеся с «?»?
  • Linux и Unix - лучшая ОС в мире.