
когда я хочу отложить выполнение программы с помощью 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
.