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