-
Notifications
You must be signed in to change notification settings - Fork 90
Open
Description
研究了一下怎么解决,在这做个记录。
进入ssh,执行以下命令,修改下载大师的启动脚本:
vi $(nvram get apps_mounted_path)/$(nvram get apps_install_folder)/etc/init.d/S50downloadmaster
在开头加入以下代码:
{
if [ "$1" != "start" ] && [ "$1" != "restart" ]; then
exit
fi
local SCRIPT_PATH=`nvram get script_usbmount`
if [ ! "$SCRIPT_PATH" ]; then
exit
fi
local ONCE_TMP_FILE=/tmp/script_usbmount_executed
if [ -f "$ONCE_TMP_FILE" ]; then
exit
fi
local APPS_MOUNTED_PATH=`nvram get apps_mounted_path`
sh -c "\"$SCRIPT_PATH\" \"$APPS_MOUNTED_PATH\"" >/dev/null 2>&1 || true
touch "$ONCE_TMP_FILE"
} &
这样系统启动下载大师的时候就会去运行之前在 script_usbmount 配置项里设置的脚本,和之前的执行方式一样,且只会在开机的时候运行一次,不管怎么启停下载大师都不会重复运行,也不会影响下载大师的功能。注意如果更新下载大师,这个启动脚本有可能会被还原,需要再修改一次。
如果要兼容支持/不支持 script_usbmount 配置项的固件,需要再修改 script_usbmount 里指定的启动脚本的文件内容,在开头加上:
{
local ONCE_TMP_FILE=/tmp/script_usbmount_executed
if [ -f "$ONCE_TMP_FILE" ]; then
exit
fi
touch "$ONCE_TMP_FILE"
}
这样不管是不是支持 script_usbmount ,都只会在开机时执行一次这个脚本。
Metadata
Metadata
Assignees
Labels
No labels

