Відповіді:
У Linux at
завжди попереджає, що він виконуватиме вказані команди /bin/sh
, а не ваш улюблений оболонку. Ви не можете придушити це повідомлення, воно жорстко закодовано у вихідному коді.
Команда, яку ви передаєте, інтерпретується /bin/sh
. Ця команда може бути шлях до сценарію, якщо вам подобається; потім /bin/sh
виконає програму скриптів, викликаючи запуск інтерпретатора сценарію та інтерпретацію сценарію. Мова сценарію повністю не залежить від програми, яка його запускає. Отже, якщо, наприклад, ви хочете виконати скрипт bash (тобто сценарій, який починається з #!/bin/bash
), просто пройдіть шлях до сценарію до at
ігноруйте невідповідне повідомлення.
ви можете домогтися запуску його з іншої оболонки, змінивши сценарій shebang . Деякі типові лінії shebang:
#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible shell #!/bin/csh -f — Execute the file using csh, the C shell, #!/usr/bin/perl -T — Execute using Perl with the option for taint checks #!/usr/bin/php — Execute the file using the PHP command line interpreter #!/usr/bin/python -O — Execute using Python with optimizations to code #!/usr/bin/ruby — Execute using Ruby
Для запуску сценарію в заданий час я пропоную вам додати cronjob
Приклад:
У наступному рядку зроблено тестування користувацької програми test.pl - нібито сценарій Perl - запускати кожні дві години, опівночі, 2 ранку, 4 ранку, 6 ранку, 8 ранку тощо:
0 * / 2 * * * /home/username/test.pl
#!/bin/sh
....?
#!/usr/bin/perl
в моєму сценарії вже shebang, але я отримую попередження