小编Rod*_*igo的帖子

为什么 "#!/bin/sh -a" 中的 -a 会影响 sed 而 "set -a" 不会?

如果我运行以下 .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)

它运行没有错误。第二个代码不应该等同于第一个代码吗?为什么第一个错误?

shell sed options shell-script

20
推荐指数
1
解决办法
1988
查看次数

标签 统计

options ×1

sed ×1

shell ×1

shell-script ×1