我使用的是 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 视频,但我无法弄清楚。预先感谢任何愿意回复的人。
尤金尼奥