> Это FreeBSD - не устраивает этот скрипт, напишите свой и выложите сообществу. Лично я и другие будут Вам благодарны.
> Данный скрипт, лично меня устраивает на все 100%.Лично Вас устраивает - хорошо, однако кто-то будет следовать этой Вашей заметке, поэтому чем более "архитектурно правильной" она будет, тем лучше.
Ваш скрипт тем и плох, что с точки зрения "правильности" он не соответствует принципам старт-стоповых скриптов FreeBSD, подробно изложенным в man rc.
Я бы предложил такой минимальный вариант (/usr/local/etc/rc.d/vboxvm):
----
#!/bin/sh
# PROVIDE: vboxvm
# REQUIRE: LOGIN
. /etc/rc.subr
name="vboxvm"
rcvar=`set_rcvar`
load_rc_config $name
: ${vboxvm_enable="NO"}
start_cmd=${name}_start
stop_cmd=${name}_stop
vboxvm_start() {
su -l vbox -c '/usr/local/bin/VBoxHeadless --startvm ...'
}
vboxvm_stop() {
su -l vbox -c '/usr/local/bin/VBoxManage controlvm <vm> poweroff ...'
}
run_rc_command "$1"
----
Внесите необходимые изменения самостоятельно.
В /etc/rc.conf при этом можно регулировать запуск скрипта при помощи переменной vboxvm_enable="YES" или vboxvm_enable="NO".
Удачи!