なぜ私は${name}_chdir
変数が私のために働いていないのか理解しようとしています。最後に、-xv
でスクリプトを実行させた後、cdコマンドが私の場合でも実行されていないことがわかります。ここに私のスクリプトは次のとおりです。このrc.dスクリプトでchdirが起きないのはなぜですか?
#!/bin/sh
set -xv
exec 1>/tmp/awning.rclog 2>&1
# REQUIRE: NETWORKING LOGIN DAEMON
# KEYWORD: shutdown
. /etc/rc.subr
name="awning"
rcvar="awning_enable"
awning_chdir="/usr/sbin/awning"
pidfile="/var/run/awningd.pid"
procname="daemon"
# -f flag is to redirect stdin/stdout/stderr to /dev/null to prevent node from crashing
# on system-startup
start_cmd="/usr/sbin/daemon -r -P ${pidfile} -f -u pierre /usr/sbin/awning/intro.js"
command="/usr/sbin/daemon -r -P ${pidfile} -f -u pierre /usr/sbin/awning/intro.js"
load_rc_config $name
run_rc_command "$1"
最初は私だけstart_cmd
を使用していたが、その後、私はrc.subrに次のように読んで:
Directory to cd to before running _command_, if
${name}_chroot is not provided.
_chdir
$ {名前}私は多分、混乱していると思ったので、私は
command=....
ビットを追加し、start_cmd=....
行を削除しましたが、それでもまだ成功していませんs。+ _chdir=/usr/sbin/awning _chroot='' _nice='' _user='' _group='' _groups='' _fib='' _env='' _prepend='' _login_class=daemon _oomprotect='' + [ -n '' ] + [ -z yes ] + [ start '!=' start ] + [ -n awning_enable -a start '!=' rcvar -a start '!=' stop -a start '!=' describe ] + checkyesno awning_enable + eval '_value=$awning_enable' + _value=YES + debug 'checkyesno: awning_enable is set to YES.' + return 0 + [ start '=' start -a -z yes -a -n '' ] + eval '_cmd=$start_cmd' '_precmd=$start_precmd' '_postcmd=$start_postcmd' + _cmd='/usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js' _precmd='' _postcmd='' + [ -n '/usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js' ] + _run_rc_precmd + check_required_before start + local _f + return 0 + [ -n '' ] + check_required_after start + local _f _args + return 0 + return 0 + _run_rc_doit '/usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js ' + debug 'run_rc_command: doit: /usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js ' + eval '/usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js ' + /usr/sbin/daemon -r -P /var/run/awningd.pid -f -u pierre /usr/sbin/awning/intro.js + _return=0 + [ 0 -ne 0 ] + return 0 + _run_rc_postcmd + [ -n '' ] + return 0 + return 0
_chdir
が適切に設定されているが、それは何のために使ったことがないです。ここ-xv
でスクリプトを実行しているから、保存された出力の関連「のdoIt」の部分です。正直なところ、それは、それらの変数のように見えます(_chdir
、_chroot
、など)、実際にする必要がありますawning_chdir
、awning_chroot
、等...に行くことができるもの?
私は /etc/rc.subrををステップ実行した後、バージョン11.0-RELEASE-P2