如果我运行以下 .sh 文件:
#!/bin/sh -a
echo "a" | sed -e 's/[\d001-\d008]//g'
Run Code Online (Sandbox Code Playgroud)
结果报错:
sed: -e 表达式 #1, char 18: 无效范围结束
但是如果我运行以下 .sh 文件:
#!/bin/sh
set -a
echo "a" | sed -e 's/[\d001-\d008]//g'
Run Code Online (Sandbox Code Playgroud)
它运行没有错误。第二个代码不应该等同于第一个代码吗?为什么第一个错误?