Хотите, чтобы crontab использовал редактор по вашему выбору, а не наоборот? Этот урок покажет вам как. Эти инструкции будут работать с Linux, macOS и другими Unix-подобными операционными системами.
Текстовый редактор выполняет довольно обыденную задачу. Тем не менее, глубокие чувства, которые люди связывают с редактором своих личных предпочтений, привели к пламенным войнам, которые разгораются с 1985 года. Мы не разжигаем этот огонь и не защищаем одного редактора над другим. Мы собираемся показать вам, как изменить редактор по-умолчанию для crontab на что-то другое, если вы решите.
Команда crontab -e
откроет редактор, чтобы вы могли редактировать свою таблицу cron. Ваша таблица cron содержит список всех запланированных заданий, которые вы запланировали выполнять в указанное время. Мы не будем вдаваться в детали работы cron в этой статье. Мы просто смотрим на редактор, связанный с командой crontab -e
.
В самый первый раз, когда вы crontab команду crontab с опцией -e (edit) в терминале Bash, вас попросят выбрать редактор, который вы хотите использовать. Введите crontab, пробел, -e и нажмите Enter.
crontab -e
Выбранный вами редактор затем используется для открытия таблицы cron. В этом примере nano был выбран нажатием клавиши 1.
Редактор, который вы выбираете из меню, используется каждый раз, когда вы запускаете команду crontab -e. Если вы позже передумаете, как выбрать другой редактор, если вы получаете меню только в первый раз? Это легко сделать командой:
select-editor
Пока все просто. Но что, если вы хотите использовать редактор, которого нет в этом меню? Или что, если вы работаете в операционной системе, которая не предоставляет команду select-editor? Мы можем справиться и с этими сценариями.
А как насчет дистрибутивов, которые не предоставляют select-editor?
Мы можем установить редактор по умолчанию для crontab, добавив строку в наш файл .bash_profile. Введите эту команду:
gedit ~/.bash_profile
Когда появится редактор, добавьте эту запись в файл:
export VISUAL="gedit"
Конечно, вы должны заменить команду, которая запускает редактор, который вы хотите использовать, на «gedit». Сохраните этот файл и закройте редактор. Чтобы эти изменения вступили в силу, выйдите из системы и снова войдите в систему или выполните команду:
. ~/.bash_profile
Обратите внимание, что линия начинается с точки. Команда source
является псевдонимом для команды period
и выполняет то же действие. Но не все дистрибутивы предоставляют source команду. Команда period всегда должна присутствовать. С учетом этого предостережения команда source присутствовала во всех дистрибутивах, которые эта статья тестировала на Ubuntu, Debian, Manjaro, Arch, Fedora, CentOS и OpenIndiana.
Вводите ли вы точку или source слова, команда заставляет параметры из вашего .bash_profile быть прочитанными и перенесенными в ваш текущий сеанс. Теперь, когда вы печатаете:
crontab -e
Указанный вами редактор будет использоваться для открытия таблицы cron.
Ваш .bash_profile не может быть пустым
Ваш файл .bash_profile может быть не пустым при редактировании. Просто прокрутите вниз и добавьте строку export VISUAL="gedit"
. Это стандартный файл .bash_profile в Manjaro Linux с добавлением новой строки:
И наконец, OpenIndiana
С OpenIndiana вам нужно добавить строку export VISUAL="gedit"
в ваш файл .bashrc, а не в ваш .bash_profile. Команда, которую вам нужно ввести:
pluma ~/.bashrc
Добавьте строку и сохраните файл, закройте и снова откройте окно терминала.
Введите команду crontab -e
чтобы убедиться, что ваши изменения вступили в силу:
И теперь ваша таблица cron загружена в nano.
Теперь вы можете указать редактор по вашему выбору во многих типах Linux, будь то потомок Debian, RedHat, Arch или что-то похожее на простой Unix.