向用户重击Bash。最好使用相同或单独的脚本?
我正在研究需要以root身份启动的Linux Bash脚本。在脚本的末尾,它将生成软件包列表。这需要以用户身份运行。然后它将移动软件包,这需要再次以root用户身份运行。我已经设置了sudo,但是想要保持脚本尽可能通用。 我在第一个脚本中尝试了以下内容以及它的一些细微变化,以从根用户切换到用户。 su -c - "$USER" "export PKGDEST=/tmp/test/AUR/" su -c - "$USER" "pacaur --noconfirm --noedit -cm" "$(< /tmp/test/aur)" 第二行无法正常运行,导致不同的错误,具体取决于报价的组合和位置。在读取文件/ tmp / test / aur ::未指定目标之后,如上所示在第一个脚本中运行这些行会产生以下错误(使用-h获得帮助)。我的喜好是使单个脚本方法正常工作。 Google等表示root,用户,bash中的root不好,因此尝试将其分为3部分: 第一个脚本以root身份运行。问题集中在这里,无法启动第二个问题。 第二个脚本以用户身份运行,并以root身份启动第三个脚本:sudo / bin / bash“ $ L” /copyaur.sh 第三个脚本copyaur.sh运行,可以正常移动软件包,但是由于调用了新的shell而没有显示为在终端中运行? 在测试过程中,以下用户终端中以su身份运行。最好在脚本中使用$ USER var。 在终端中以su身份显示,然后返回su - $USER,然后 ls在home中列出我的普通用户名[dom]的内容。 [dom@arch testing]$ echo $USER dom [root@arch …