MoeNetwork / Tieba-Cloud-Sign

百度贴吧云签到,在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到。配合插件使用还可实现云灌水、点赞、封禁、删帖、审查等功能。注意:Gitee (原Git@osc) 仓库将不再维护,目前唯一指定的仓库为 Github。本项目没有官方交流群,如需交流可以直接使用Github的Discussions。没有商业版本,目前贴吧云签到由社区共同维护,不会停止更新(PR 通常在一天内处理)。
https://github.com/MoeNetwork/Tieba-Cloud-Sign/wiki
Other
1.81k stars 414 forks source link

docker-compose部署报错 Error: unknown shorthand flag: 'c' in -config #235

Closed HCLonely closed 1 year ago

HCLonely commented 1 year ago

问题描述

docker-compose部署后访问网站返回502,查看日志发现报错 Error: unknown shorthand flag: 'c' in -config image

复现步骤

docker-compose up -d

环境

n0099 commented 1 year ago

232

BANKA2017 commented 1 year ago

看了一下应该是执行 s6-overlay 启动脚本出现的问题,怀疑是 sed 不再支持这种 flag,但我并不熟悉 sed 的使用

https://github.com/MoeNetwork/Tieba-Cloud-Sign/blob/dd29af3ac3d32f1b8983469f54422661200b84c5/docker/s6-overlay/etc/cont-init.d/20-fix-config#L12-L16

n0099 commented 1 year ago

什么flag?您在macos上用着BSD sed而非GNU/Linux的GNU sed吗?如同 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416835461 先看看单独执行cat $file_config -n | grep "DB_USER" | awk '{print $1}'的结果是什么 以及变量$file_config里是不是有可能出现空格或glob等unexpected expansion,如果可能应该套""避免word splitting和unexpected expansion 建议直接无脑set -x

BANKA2017 commented 1 year ago

先看看单独执行cat $file_config -n | grep "DB_USER" | awk '{print $1}'的结果是什么

得到的是对应内容所在的行数,c 的作用是将 c 后面的内容替换掉前面的行对应的内容

n0099 commented 1 year ago

为什么不是grep -n而是cat -n,效果一样但with line num应该在grep一层进行以避免经典半谓词问题,即假如grep的是数字(但这里是字面量的字符串"DB_USER",建议换成''避免expansion)那就会匹配到cat -n所附带的line num造成歧义

BANKA2017 commented 1 year ago

看了一下应该是执行 s6-overlay 启动脚本出现的问题

我重新看了一下,问题并不在这个脚本,目前不知道问题所在

gitcps commented 1 year ago

宝塔环境安装,出现同样的问题