如何在 sh(不是 bash!)中实现这一点?
nohup sh -c 'helper-bcpy.sh "$0" "$1" "$2" "$3"' "$num" "$full_path" "$log" "$log_finished" >/dev/null &
我本希望它在后台发送进程(它会这样做)并将其与终端分离(它不会这样做 - 如果我从启动脚本的地方关闭终端,helper-bcpy.sh
则不会完全执行,尽管看起来耗时的 wget 调用得到正确执行...)。
我知道我可以使用disown
,但我需要在 sh 而不是 bash 中执行此操作...
#!/bin/sh
# $num $full_path $log $log_finished - computed before from parameters received by the script
nvram set led_disable=1
service restart_leds >/dev/null
nohup sh -c 'helper-bcpy.sh "$0" "$1" "$2" "$3"' "$num" "$full_path" "$log" "$log_finished" >/dev/null &
echo "copy process launched..."
exit 0
helper-bcpy.sh
看起来像这样:
#!/bin/sh
wget -m -np -nH -nv --cut-dirs="$1" "$2" 1>/dev/null 2>"$3"
nvram set led_disable=0
service restart_leds
mv "$3" "$4"
exit 0
我需要在使用 Merlin 固件的华硕路由器上完成这项工作