如何编写脚本到 sudo,然后 cd,设置环境变量并运行程序?

如何编写脚本到 sudo,然后 cd,设置环境变量并运行程序?

我使用的是 ZorinOS 16。我最近设置了 SearXNG,每次重新启动计算机时,我都必须运行几个命令来启动它:

sudo -H -u searx -i
cd /usr/local/searx/searx-src
export SEARXNG_SETTINGS_PATH="/etc/searxng/settings.yml"
python searx/webapp.py

我尝试编写一个脚本/bash 来运行命令,但我无法做到。我面临的两个主要问题是 bash 内部存在sudo以及两个不同的用户必须执行操作。到目前为止,我能做的最好的事情就是创建两个不同的 bash,其中一个更改我运行的用户sudo bash chuser.sh,然后bash searx.sh执行其他三个命令。最让我困扰的是,我无法找到在不输入 sudo 密码的情况下执行用户更改的方法:我尝试使用以下命令运行命令

echo <password> | sudo -H -u searx -i

并将此行添加到我的 /etc/sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
eugenio ALL=(ALL) NOPASSWD: /home/eugenio/chuser.sh

但无论我做什么,它仍然总是提示我输入 sudo 密码。

我肯定做错了什么,因为我是一个十足的菜鸟,我喜欢任何形式的输入。我最近几天浏览论坛和 YouTube 视频,但我无法弄清楚。预先感谢任何愿意回复的人。

尤金尼奥

相关内容