全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器主机交流
IP归属甄别会员请立即修改密码Sharktech防护
查看: 38479|回复: 15

求帮忙看一下这个脚本哪里错了

[复制链接]
发表于 2017-1-10 14:23:34 | 显示全部楼层 |阅读模式
50金钱
本帖最后由 lzdszdl 于 2017-1-11 13:36 编辑

我知道我写的很烂,希望大佬们能帮我看一看
报错如下,百度是符号错误,但是我找了很久还是没找到
6: line 346: unexpected EOF while looking for matching `"'
6: line 352: syntax error: unexpected end of file

脚本代码

  1. #!/bin/bash
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  3. export PATH
  4. clear
  5. echo '
  6.     ************************************************************
  7.     *****                                                  *****
  8.     *****         本脚本在Centos6.8 x64上通过测试            *****
  9.     *****                                                  *****
  10.     ************************************************************
  11.                                             
  12.                                        
  13.                                 -Powered by 喵叭博客-猫剩
  14. '
  15.         if [ -f /etc/redhat-release ];then
  16.         OS=CentOS

  17.     elif [ ! -z "`cat /etc/issue | grep bian`" ];then
  18.         OS=Debian

  19.     elif [ ! -z "`cat /etc/issue | grep Ubuntu`" ];then
  20.         OS=Ubuntu
  21.     else
  22.         echo "Not support OS, Please reinstall OS and retry!"
  23.         exit 1
  24.     fi

  25. function update(){
  26.         if [ ${OS} == "CentOS" ]; then
  27.                 echo "准备更新清理系统"
  28.                 sleep 5
  29.                 yum update -y >/dev/null 2>&1
  30.                 yum remove http* apache* -y >/dev/null 2>&1
  31.                 yum install vim wget unzip tar screen -y >/dev/null 2>&1
  32.         else
  33.                 echo "Centos凑什么热闹!换系统去"
  34.         fi
  35. }


  36. function setconfig(){
  37. echo
  38. echo -e "请选择模式(默认:域名模式)"
  39. echo -e "1:公网ip模式"
  40. echo -e "2:域名模式"
  41. read moshi
  42.   if [[ ${moshi} == '1' ]]
  43. then
  44. read -p '请输入你的IP地址: ' dl;
  45. pan=${dl}
  46. [ -z "$dl" ] && echo "你是猪吗,让你填外网ip地址 已经给你设置为127.0.0.1,自己改" && dl="127.0.0.1"
  47. [ -z "$pan" ] && echo "你是猪吗,让你填外网ip地址 已经给你设置为127.0.0.1,自己改" && pan="127.0.0.1"
  48. read -p '请输入离线下载地址端口: ' port1;
  49. [ -z "$port1" ] && echo "你是猪吗,让你填端口 已经给你设置为8546,自己改" && port1="8546"
  50. read -p '请输入网盘观看地址端口: ' port2;
  51. [ -z "$port2" ] && echo "你是猪吗,让你填端口 已经给你设置为8547,自己改" && port2="8547"
  52. sleep 3
  53. else
  54. read -p '请输入域名作为离线下载地址(例如 dl.xxx.com): ' dl;
  55. read -p '请输入域名作为网盘下载地址(例如 pan.xxx.com): ' pan;
  56. port1='80';
  57. port2='80';
  58. [ -z "$dl" ] && echo "你是猪吗,让你填域名 已经给你设置为www.baidu.com,自己改" && dl="www.baidu.com"
  59. [ -z "$pan" ] && echo "你是猪吗,让你填域名 已经给你设置为www.baidu.com,自己改" && pan="www.baidu.com"
  60. sleep 3
  61. fi

  62. }

  63. function lep(){
  64. echo '开始安装NGINX PHP环境 这里没有卡住,时间由你服务器性能 网络决定'
  65. sleep 5
  66. yum install epel-release -y
  67. rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
  68. rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
  69. yum update -y >/dev/null 2>&1
  70. yum install -y automake autoconf libtool gcc gcc-c++ >/dev/null 2>&1
  71. rpm -ivh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm >/dev/null 2>&1
  72. yum update -y >/dev/null 2>&1
  73. yum install -y -t php55w-fpm php55w-gd php55w-common nginx ffmpeg ffmpeg-devel >/dev/null 2>&1
  74. }

  75. function makeconfig(){
  76. echo '开始创建配置文件'
  77. sleep 5

  78. mkdir -p /home/wwwroot/${dl}:${port1}
  79. mkdir -p /home/wwwroot/${pan}:${port2}
  80. cd /etc/nginx/
  81. rm -rf fastcgi_params
  82. echo '
  83. fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
  84. fastcgi_param  REDIRECT_STATUS    200;
  85. fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
  86. fastcgi_param  QUERY_STRING       $query_string;
  87. fastcgi_param  REQUEST_METHOD     $request_method;
  88. fastcgi_param  CONTENT_TYPE       $content_type;
  89. fastcgi_param  CONTENT_LENGTH     $content_length;
  90. fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
  91. fastcgi_param  REQUEST_URI        $request_uri;
  92. fastcgi_param  DOCUMENT_URI       $document_uri;
  93. fastcgi_param  DOCUMENT_ROOT      $document_root;
  94. fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
  95. fastcgi_param  SERVER_PROTOCOL    $server_protocol;
  96. fastcgi_param  HTTPS              $https if_not_empty;
  97. fastcgi_param  REMOTE_ADDR        $remote_addr;
  98. fastcgi_param  REMOTE_PORT        $remote_port;
  99. fastcgi_param  SERVER_ADDR        $server_addr;
  100. fastcgi_param  SERVER_PORT        $server_port;
  101. fastcgi_param  SERVER_NAME        $server_name;
  102. ' >> fastcgi_params

  103. cd conf.d

  104. echo "
  105. server {
  106.     listen ${port1};
  107.     server_name ${dl};
  108.     root /home/wwwroot/${dl}:${port1};

  109.     location / {
  110.         index index.html index.php;
  111.     }
  112.     location ~* \.php$ {
  113.         fastcgi_pass unix:/var/run/php5-fpm.sock;
  114.         fastcgi_index index.php;
  115.         fastcgi_split_path_info ^(.+\.php)(.*)$;
  116.         include fastcgi_params;
  117.     }
  118. }
  119. " >> ${dl}:${port1}.conf

  120. echo "
  121. server {
  122.     listen ${port2};
  123.     server_name ${pan};
  124.     root /home/wwwroot/${pan}:${port2};

  125.     location / {
  126.         index index.html index.php /_h5ai/public/index.php;
  127.     }
  128.     location ~* \.php$ {
  129.         fastcgi_pass unix:/var/run/php5-fpm.sock;
  130.         fastcgi_index index.php;
  131.         fastcgi_split_path_info ^(.+\.php)(.*)$;
  132.         include fastcgi_params;
  133.     }
  134. }
  135. " >> ${pan}:${port2}.conf

  136. cd

  137. mkdir .aria2

  138. echo "
  139. ## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
  140. ## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释  ##

  141. ## 文件保存相关 ##

  142. # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
  143. dir=/home/wwwroot/${pan}:${port2}
  144. # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
  145. #disk-cache=32M
  146. # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
  147. # 预分配所需时间: none < falloc ? trunc < prealloc
  148. # falloc和trunc则需要文件系统和内核支持
  149. # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
  150. file-allocation=none
  151. # 断点续传
  152. continue=true

  153. ## 下载连接相关 ##

  154. # 最大同时下载任务数, 运行时可修改, 默认:5
  155. max-concurrent-downloads=10
  156. # 同一服务器连接数, 添加时可指定, 默认:1
  157. max-connection-per-server=5
  158. # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
  159. # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
  160. min-split-size=10M
  161. # 单个任务最大线程数, 添加时可指定, 默认:5
  162. split=20
  163. # 整体下载速度限制, 运行时可修改, 默认:0
  164. #max-overall-download-limit=0
  165. # 单个任务下载速度限制, 默认:0
  166. #max-download-limit=0
  167. # 整体上传速度限制, 运行时可修改, 默认:0
  168. #max-overall-upload-limit=0
  169. # 单个任务上传速度限制, 默认:0
  170. #max-upload-limit=0
  171. # 禁用IPv6, 默认:false
  172. disable-ipv6=false

  173. ## 进度保存相关 ##

  174. # 从会话文件中读取下载任务
  175. input-file=/root/aria2.session
  176. # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
  177. save-session=/root/aria2.session
  178. # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
  179. #save-session-interval=60

  180. ## RPC相关设置 ##

  181. # 启用RPC, 默认:false
  182. enable-rpc=true
  183. # 允许所有来源, 默认:false
  184. rpc-allow-origin-all=true
  185. # 允许非外部访问, 默认:false
  186. rpc-listen-all=true
  187. # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
  188. #event-poll=select
  189. # RPC监听端口, 端口被占用时可以修改, 默认:6800
  190. #rpc-listen-port=6800
  191. # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
  192. #rpc-secret=<TOKEN>
  193. # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
  194. #rpc-user=<USER>
  195. # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
  196. #rpc-passwd=<PASSWD>

  197. ## BT/PT下载相关 ##

  198. # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
  199. #follow-torrent=true
  200. # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
  201. listen-port=51413
  202. # 单个种子最大连接数, 默认:55
  203. #bt-max-peers=55
  204. # 打开DHT功能, PT需要禁用, 默认:true
  205. enable-dht=true
  206. # 打开IPv6 DHT功能, PT需要禁用
  207. #enable-dht6=false
  208. # DHT网络监听端口, 默认:6881-6999
  209. #dht-listen-port=6881-6999
  210. # 本地节点查找, PT需要禁用, 默认:false
  211. #bt-enable-lpd=true
  212. # 种子交换, PT需要禁用, 默认:true
  213. enable-peer-exchange=true
  214. # 每个种子限速, 对少种的PT很有用, 默认:50K
  215. #bt-request-peer-speed-limit=50K
  216. # 客户端伪装, PT需要
  217. peer-id-prefix=-TR2770-
  218. user-agent=Transmission/2.77
  219. # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
  220. seed-ratio=0.1
  221. # 强制保存会话, 即使任务已经完成, 默认:false
  222. # 较新的版本开启后会在任务完成后依然保留.aria2文件
  223. #force-save=false
  224. # BT校验相关, 默认:true
  225. #bt-hash-check-seed=true
  226. # 继续之前的BT任务时, 无需再次校验, 默认:false
  227. bt-seed-unverified=true
  228. # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
  229. bt-save-metadata=false
  230. " >> /root/.aria2/aria2.conf

  231. echo ' ' > /root/aria2.session

  232. }


  233. function main(){
  234. echo '开始安装主程序'
  235. rpm -Uvh ftp://ftp.pbone.net/mirror/apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  236. yum install aria2  -y
  237. cd /home/wwwroot/${dl}:${port1}
  238. wget --no-check-certificate https://raw.githubusercontent.com/godzlalala/onlineplayer/master/yaaw.zip >/dev/null 2>&1
  239. unzip yaaw.zip >/dev/null 2>&1
  240. cd /home/wwwroot/${pan}:${port2}
  241. wget --no-check-certificate https://raw.githubusercontent.com/godzlalala/onlineplayer/master/_h5ai.zip >/dev/null 2>&1
  242. unzip _h5ai.zip >/dev/null 2>&1
  243. chmod 777 /home/wwwroot/${pan}:${port2}/_h5ai/public/cache
  244. chmod 777 /home/wwwroot/${pan}:${port2}/_h5ai/private/cache

  245. }


  246. function startc(){
  247. echo '配置完毕,启动程序'
  248. screen -dmS aria2  aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all -c >/dev/null 2>&1
  249. service nginx restart >/dev/null 2>&1
  250. service php5-fpm restart >/dev/null 2>&1

  251. }


  252. function serverspeeder(){
  253. cd
  254. read -p '是否安装锐速。(输入y安装,其他不安装)不一定支持你的内核' isspeeder;
  255. echo '支持内核请查看https://www.91yun.org/wp-content/plugins/91yun-serverspeeder/systemlist.html'
  256. if [ ${isspeeder} == 'y' ];then
  257.         wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
  258.         wget -N --no-check-certificate https://raw.githubusercontent.com/godzlalala/start/master/rs.sh
  259.         mv rs.sh rs
  260.         chmod +x rs
  261. else  
  262.         echo '你选择不安装锐速,如需要可以执行 ./debian7 serverspeeder 来安装'
  263. fi
  264. }

  265. function installover(){

  266. echo "
  267.     *************************************************************
  268.     *                                                           *
  269.     *                        程序安装完毕                       *
  270.            离线下载域名${dl}:${port1                           
  271.            在线观看域名${pan}:${port2}   
  272.         离线下载配置文件地址/etc/nginx/conf.d/${dl}:${port1}.conf
  273.         在线观看配置文件地址/etc/nginx/conf.d/${pan}:${port2}.conf
  274.                                 ./rs start 启动锐速
  275.                                 ./rs stop 停止锐速
  276.                                 ./rs restart 重启锐速
  277.                                 ./rs status 查看锐速状态
  278.                                 ./rs config 更改锐速配置文件
  279.                             执行一下两行代码卸载锐速
  280.                 chattr -i /serverspeeder/etc/apx*
  281.                 /serverspeeder/bin/serverSpeeder.sh uninstall -f
  282.                   
  283.     *                                                           *
  284.     *************************************************************
  285.                                             
  286.                                        
  287.                                             -Powered by 喵叭博客-猫剩
  288. "


  289. }

  290. function run(){
  291. starttime=`date +%s`
  292. update
  293. setconfig
  294. lep
  295. makeconfig
  296. main
  297. serverspeeder
  298. startc
  299. installover
  300. stop=`date +%s`
  301. echo '脚本总共运行了  $[ stop - starttime ] 秒 '
  302. }

  303. if [ ! -n "$1" ]; then
  304. run
  305.   elif [ "$1" == "serverspeeder" ]; then
  306.         serverspeeder
  307. else
  308.         echo '未知命令,脚本退出'
  309.         exit 1
  310. fi
复制代码

最佳答案

查看完整内容

代码 309行丢了一个花括符 原始:离线下载域名${dl}{port1 修改后: 离线下载域名${dl}{port1}
发表于 2017-1-10 14:23:35 | 显示全部楼层
代码 309行丢了一个花括符
    原始:离线下载域名${dl}{port1  
   修改后:    离线下载域名${dl}{port1}
发表于 2017-1-10 14:24:38 | 显示全部楼层
我能说没看懂么
 楼主| 发表于 2017-1-10 14:27:16 | 显示全部楼层
Thinker 发表于 2017-1-10 14:24
我能说没看懂么

就是前面大佬发了一个离线下载的帖子,我就写成了脚本,debian7的都没出错,复制过来改了一下centos的就出错了
发表于 2017-1-10 14:29:55 | 显示全部楼层
这个一键在线云播的脚本原来是你写的?
发表于 2017-1-10 14:30:53 | 显示全部楼层
大佬间的对话,我看看就好~
发表于 2017-1-10 14:33:00 | 显示全部楼层
额, js可以帮看看, 这个只能看你们讨论了.
发表于 2017-1-10 14:36:20 | 显示全部楼层
大哥,centos和debian的包管理方式不一样。
详细判断方法,参考我写的锐速脚本。
在Loc里,搜一下就应该知道。
发表于 2017-1-10 14:37:23 | 显示全部楼层
本帖最后由 gaoji.me 于 2017-1-10 14:38 编辑


要毛一件包  debian下:

apt-get **好!!
发表于 2017-1-10 15:33:47 | 显示全部楼层
把源文件放在附件里面,直接贴出来有些符号会被吃掉的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|全球主机交流论坛

GMT+8, 2020-2-25 04:14 , Processed in 0.078064 second(s), 4 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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