Как изменить оболочку по умолчанию для команды at

Как изменить оболочку по умолчанию для команды at

когда я хочу отложить выполнение программы с помощью at, он уточняет, что

warning: commands will be executed using /bin/sh

Как изменить эту оболочку по умолчанию, bashнапример, на ?

решение1

Пожалуйста, посмотриэтотвопрос, который был опубликован на Unix & Linux Stack Exchange. Первое предложение гласит:

Под Linux at всегда предупреждает, что он выполнит указанные команды с помощью /bin/sh, а не вашей любимой оболочки. Вы не можете отключить это сообщение, оно жестко закодировано в исходном коде.

Также предлагается обходной путь:

Переданная вами команда интерпретируется /bin/sh. Эта команда может быть путем к скрипту, если вам это нравится; тогда /bin/sh выполнит программу скрипта, запустив интерпретатор скрипта и интерпретировав скрипт. Язык скрипта полностью независим от программы, которая его запускает. Так что если, например, вы хотите выполнить скрипт bash (т. е. скрипт, который начинается с #!/bin/bash), просто передайте путь к скрипту в at и проигнорируйте нерелевантное сообщение.

Итак, чтобы запустить ваши команды вместо bash, shвы можете передать скрипт в at. Пока скрипт имеет строку shebang, он будет выполнен любой программой, на которую указывает shebang. Если вы используете #!/bin/bash, он будет выполнен bash.

Связанный контент