如何使脚本中的命令不以 sudo 形式运行

如何使脚本中的命令不以 sudo 形式运行

我有一个脚本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当前目录执行。

相关内容