我制作了一个脚本(文件名是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 Aug 23 00:12 custom_scripts
可执行脚本是:
-rwx------. 1 root root 73 Aug 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
例外。
我不太确定出了什么问题。
答案1
听起来你想让它只使用 Cron 运行。看一下cron 作业的运行时权限是什么?但本质上只需将脚本复制到 cron 文件夹之一,例如 /etc/cron.daily
我还建议删除 sudo,因为它是多余的。 Cron 将以 root 身份运行它。
答案2
我认为您已经更改了 $PATH 变量,user_name
但没有更改sudo
。
我对此感到惊讶permission denied
,如果您sudo
在命令的开头有,那么当您手动运行它时,它应该要求您输入密码。
对于你想要做的事情,我认为 analias
会更合适,请检查
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias