找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 750|回复: 2

[openwrt(x86)] 请教这个开机自启动的脚本该怎么修改?

[复制链接]
发表于 2023-10-23 22:56 | 显示全部楼层 |阅读模式
今天看了一个openwrt上部署webdav的教程

https://betheme.net/qianduan/46091.html?action=onClick


程序下来以后可以完美运行,但是只能前台,终端一关了,就没了
教程里给了一个自启动脚本,但是这个脚本明显有很多空格和换行错误,无法运行,有大神能看看怎么修改么?非常感谢

#!/bin/sh /etc/rc.commonSTART=99STOP=10USE_PROCD=1NAME="webdav"WEBDAV_BIN="/usr/share/webdav/webdav"WEBDAV_CONF="/usr/share/webdav/config.yaml"WEBDAV_LOGFILE="/tmp/webdav.log"WEBDAV_PID="/var/run/webdav.pid"start_service() {stopconfig_load webdavlocal webdav_enableconfig_get_bool webdav_enable webdav enabledif [ "$webdav_enable" -eq 1 ]; thennohup $WEBDAV_BIN -c $WEBDAV_CONF >$WEBDAV_LOGFILE 2>&1 & echo $! >WEBDAV_PIDfi}boot() {if  [ -e WEBDAV_PID ]thenrm WEBDAV_PID &> /dev/nullfistart}stop_service() {if  [ -e WEBDAV_PID ]thenkill $(cat WEBDAV_PID) &> /dev/nullrm WEBDAV_PID &> /dev/nullfi}shutdown() {if  [ -e WEBDAV_PID ]thenrm WEBDAV_PID &> /dev/nullfi}restart() {stopstart}
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-10-24 14:18 | 显示全部楼层
这个脚本语法错误实在太多,还有些地方不知道怎么换行,建议你把启动命令放到最下面的自定义脚本 exit 前面

nohup /usr/share/webdav/webdav -c /usr/share/webdav/config.yaml >/tmp/webdav.log 2>&1 &
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-24 14:57 | 显示全部楼层

ChatGPT:
以下是整理过的 OpenWrt init 启动文件,已修复换行问题并添加了适当的缩进:

  1. #!/bin/sh /etc/rc.common

  2. START=99
  3. STOP=10
  4. USE_PROCD=1
  5. NAME="webdav"
  6. WEBDAV_BIN="/usr/share/webdav/webdav"
  7. WEBDAV_CONF="/usr/share/webdav/config.yaml"
  8. WEBDAV_LOGFILE="/tmp/webdav.log"
  9. WEBDAV_PID="/var/run/webdav.pid"

  10. start_service() {
  11.     stop
  12.     config_load webdav
  13.     local webdav_enable
  14.     config_get_bool webdav_enable webdav enabled

  15.     if [ "$webdav_enable" -eq 1 ]; then
  16.         nohup $WEBDAV_BIN -c $WEBDAV_CONF > $WEBDAV_LOGFILE 2>&1 &
  17.         echo $! > $WEBDAV_PID
  18.     fi
  19. }

  20. boot() {
  21.     if [ -e $WEBDAV_PID ]; then
  22.         rm $WEBDAV_PID &> /dev/null
  23.     fi
  24.     start
  25. }

  26. stop_service() {
  27.     if [ -e $WEBDAV_PID ]; then
  28.         kill $(cat $WEBDAV_PID) &> /dev/null
  29.         rm $WEBDAV_PID &> /dev/null
  30.     fi
  31. }

  32. shutdown() {
  33.     if [ -e $WEBDAV_PID ]; then
  34.         rm $WEBDAV_PID &> /dev/null
  35.     fi
  36. }

  37. restart() {
  38.     stop
  39.     start
  40. }
复制代码


这里修复了换行问题,添加了适当的缩进,以使脚本更易于阅读和理解。请注意,在脚本中使用了$WEBDAV_PID和$WEBDAV_BIN来引用变量,这些变量应该在其他地方定义。确保这些变量包含正确的路径和值,以便脚本正常工作。

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-7-27 13:40

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表