Я создал сценарий (имя файла - update
) для обновления и обновления одной командой.Вот и все:
#! /bin/bash
sudo /usr/bin/apt-get update
sudo /usr/bin/apt-get upgrade
Я использовал полные пути, а также поместил это в отдельный каталог, / home / user_name / custom_scripts
. Я также удостоверился, что назначил этот каталог как root
, разрешения указаны как
drwxr-xr-x. 2 root root 4096 23 августа 00:12 custom_scripts
и исполняемый сценарий:
-rwx ------. 1 root root 73 23 августа 00:12 update
Я изменил свой путь так, чтобы он выглядел так / home / user_name / custom_scripts: / usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / games
но по какой-то причине это не будет выполняться, если я наберу sudo update
. Самое странное, что если я просто попробую update
, я получу исключение permission denied
.
Я не совсем уверен, что случилось.
Похоже, вы хотите, чтобы он просто запускался с помощью Cron. Взгляните на Каковы права выполнения задания cron? но по сути просто скопируйте скрипт в одну из папок cron, например /etc/cron.daily
Я бы также рекомендовал удалить sudo как избыточный. Cron запустит его как root.
Я думаю, что вы изменили переменную $PATH для user_name
, но не для sudo
.
Я удивлен насчет permission denied
, если у вас есть sudo
в начале команды, она должна запросить у вас пароль при запуске вручную.
Для того, что вы пытаетесь сделать, я думаю, что alias
будет более подходящим, проверьтеhttps://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias