我有一个脚本install.sh
,其中包含在 ubuntu 上安装软件包的命令。例如:
#/bin/bash
sudo apt-get update
sudo apt-get updgrade
sudo apt-get install <package>
现在我想运行一个不使用 sudo 的命令,所以我将写为 without sudo
#/bin/bash
sudo apt-get update
sudo apt-get updgrade
sudo apt-get install <package>
pcmanfm --set-wallpaper /path to file <-- I want this to be run without sudo
但是当我运行脚本时,我会sudo sh install.sh
自动让所有命令以 sudo 身份执行。有没有什么办法可以保护pcmanfm
命令不以 sudo 身份运行。
答案1
您应该按照以下方式执行脚本:
./install.sh
或者
sh ./install.sh
这将导致只有sudo
脚本中以 开头的命令才能以 root 身份运行。
请注意,./
的前缀表示install.sh
将从install.sh
当前目录执行。