![启动脚本时 sudo 不起作用](https://linux22.com/image/53859/%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC%E6%97%B6%20sudo%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在尝试使用此脚本(脚本名称:)启动虚拟机(ORACLE VIRTUALBOX)start_vm001.sh
。
START_VM=`/usr/bin/VBoxHeadless --startvm testvm001`
EXECUTE_VM=`exec /sbin/start-stop-daemon --start --chuid 1001 \
--exec "$START_VM" -- $START_VM`
echo $EXECUTE_VM
$ ./start_vm001.sh, # it worked
$ sudo ./start_vm001.sh # it not worked
ERROR OUTPUT: sbin/start-stop-daemon: unable to stat Oracle VM VirtualBox
Headless Interface 4.1.12_Ubuntu (C) 2008-2013 Oracle Corporation All rights
reserved. Invalid machine name or UUID! (No such file or directory)
如何使用 sudo 运行脚本?
答案1
在第一行中,您正在执行 VBoxHeadless 命令,而不是仅仅将该行放入变量中。您应该使用以下语法:
START_VM="/usr/bin/VBoxHeadless --startvm testvm001"
答案2
我通过使用另一个脚本调用此脚本来修复它:
exec start-stop-daemon --start --chuid 1001 --exec /etc/init.d/start_vm001.sh