Когда я хочу отложить выполнение программы, используя at
, мне уточняют, что
warning: commands will be executed using /bin/sh
Как изменить эту оболочку по умолчанию, например, на bash
?
См. этот вопрос, который был отправлен на Unix & Exchange Стопки Linux. Первое предложение говорит:
В соответствии с Linux, во всегда предупреждает Вас, что он выполнит указанные команды с/bin/sh, а не Вашу любимую оболочку. Вы не можете подавить это сообщение, оно трудно кодируется в исходном коде.
Это также предлагает обходное решение:
команда, которую Вы передаете, интерпретируется/bin/sh. Эта команда может быть путем к сценарию, если Вам нравится; затем/bin/sh выполнит программу сценария, заставляя интерпретатор сценария быть запущенным и интерпретировать сценарий. Язык сценария абсолютно независим от программы, которая запускает его. Таким образом, если, например, Вы хотите выполнить сценарий удара (т.е. сценарий, который начинается с #!/bin/bash), просто передайте путь к сценарию к в и проигнорируйте несоответствующее сообщение.
Так, для выполнения команд с bash
вместо sh
Вы могли передать сценарий at
. Пока сценарий имеет строку хижины, он будет выполняться любой программой, на которую указывает хижина. Если Вы будете использовать #!/bin/bash
, то это будет выполняться bash
.