在这里编写newb脚本,处理需要root,user,root的bash脚本。我在用户终端su后运行它。最初尝试过:
su -c - "$USER" "export PKGDEST=/tmp/test/AUR/"
su -c - "$USER" "pacaur --noconfirm --noedit -cm" "$(< /tmp/test/aur)"
崩溃第二行,不同的错误,取决于报价组合,展示位置。运行正在进行的代码,第二行在读取文件/ tmp / test / aur :: no targets指定后产生以下错误(使用-h作为帮助)。
pacaur --noconfirm --noedit -cm "$(< /tmp/test/aur)"
以用户身份启动脚本时运行正常。我的第一选择是让这种方法正常工作。
谷歌等说..根,用户,root在bash是不好的,所以试着把它分成3部分:1)第一个脚本以root身份运行。问题集中在这里,不能让它开始第二个。
2)第二个脚本以用户身份运行,以root身份启动第三个脚本:sudo / bin / bash&#34; $ L&#34; /copyaur.sh
3)第三个脚本,copyaur.sh启动,运行,移动一些包但由于调用新shell而无法在终端中显示。
下面在测试期间在用户终端中以su身份运行。首选使用$ USER var作为whoami报告root 而echo $ USER报告用户名。切换su后,su - $ USER,ls in~显示我的家庭内容。
[dom@arch testing]$ echo $USER
dom
[root@arch testing]# echo $USER
dom
[root@arch testing]# pwd
/home/dom/scripts/testing
su - $USER home/$USER/scripts/testing/buildaur.sh - No such file or directory
su --login $USER home/$USER/scripts/testing/buildaur.sh - No such file or directory
su - $USER home/dom/scripts/testing/buildaur.sh - No such file or directory
su - "$USER" home/dom/scripts/testing/buildaur.sh - No such file or directory
su - "$USER" ./buildaur.sh - No such file or directory
su - dom ./buildaur.sh - No such file or directory
su - dom ~/scripts/testing/buildaur.sh - Permission denied
su - $USER ~/scripts/testing/buildaur.sh - Permission denied
su --login dom ~/scripts/testing/buildaur.sh - Permission denied
su - dom /home/dom/scripts/testing/buildaur.sh - Runs as user, expected
su --login dom /home/dom/scripts/testing/buildaur.sh - Runs as user, expected
su - dom /home/$USER/scripts/testing/buildaur.sh - Runs as user, expected
答案 0 :(得分:0)
/tmp/test/AUR
和/tmp/test/aur
是不同的文件。大多数文件系统都区分大小写。