小编Nic*_*etz的帖子

检查字符串是否以数字结尾会抛出“意外的运算符”

我正在尝试检查我运行的脚本的文件名是否以数字结尾:

#!/bin/sh
name=$(basename "$0" .sh)
[ $name =~ ^.[0-9]$ ] && numb=$(echo $name | sed 's/[^0-9]*//g') || numb=1
echo $numb
Run Code Online (Sandbox Code Playgroud)

我的 shell 文件被命名mh03.sh,如果我运行它,这是输出:

$ ./mh3.sh
./mh3.sh: 3: [: mh3: unexpected operator
1
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么会出现此异常以及如何修复它吗?

bash regular-expression

2
推荐指数
1
解决办法
3010
查看次数

标签 统计

bash ×1

regular-expression ×1