执行「./20.04/nginx_add_site.sh」的时候填写项目名称总是报「项目名包含非法字符」错误

执行

./20.04/nginx_add_site.sh

的时候填写项目名称总是报「项目名包含非法字符」错误。项目名称就是几个英文字符,确保没有空格什么的。以前 16.04 脚本的时候没有这个问题。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13

同学,怎么解决的,我也遇到这个问题了

2年前 评论

@nbutluo 我也提示这个问题, 你解决了吗, 没有一点方向啊。

2年前 评论
nbutluo 2年前
jxdr (作者) 2年前
nbutluo 2年前
jxdr (作者) 2年前

@nbutluo 我就暴力点了, 直接屏蔽他的提示

file

2年前 评论
YBYW 2年前

我也遇到这个问题了,估计是 laravel-ubuntu-init/common/ansi.sh 这个文件没有更新,我也烦了,每次都遇到各种各样的问题。

2年前 评论

没想到我在这里能遇到一样的问题。

1年前 评论

已经解决这个问题了。

问题的原因是正则写法有误,在[]中,.前面不需要加\-放在最后也不需要加\0-9前面更不需要了。

解决方案:

  1. 打开 laravel-ubuntu-init/20.04/nginx_add_site.sh
  2. 找到第 10 行:
    [[ $project =~ ^[a-zA-Z\0-9_\-\.]+$ ]] || {
  3. 修改为:
    [[ $project =~ ^[a-zA-Z0-9_.-]+$ ]] || {
  4. 保存运行

参考:查看 Metacharacters Inside Character Classes 章节

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!