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

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

warning: commands will be executed using /bin/sh

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

1
задан 14 June 2016 в 20:54

1 ответ

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

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

Это также предлагает обходное решение:

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

Так, для выполнения команд с bash вместо sh Вы могли передать сценарий at. Пока сценарий имеет строку хижины, он будет выполняться любой программой, на которую указывает хижина. Если Вы будете использовать #!/bin/bash, то это будет выполняться bash.

2
ответ дан 14 June 2016 в 20:54

Другие вопросы по тегам:

Похожие вопросы: