![使用 sudo 启动脚本](https://linux22.com/image/1406855/%E4%BD%BF%E7%94%A8%20sudo%20%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC.png)
我正在尝试使用此脚本(脚本名称:start_vm001.sh)启动虚拟机(ORACLE VIRTUALBOX)。
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
当我在不使用 sudo 的情况下运行脚本时,虚拟机已启动,但是当我使用 sudo 运行脚本时,虚拟机未启动。
username@host1:~$ ./start_vm001.sh, its worked
username@host1:~$ sudo ./start_vm001.sh its not worked
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
虚拟机的配置文件存储在 下的用户主目录中/home
。您需要在 中创建相同的文件夹/root
(或符号链接它们)以使 sudo 正常工作,因为 virtualbox 会在正在运行的用户文件夹中查找配置文件。