Se eu executar o seguinte arquivo .sh:
#!/bin/sh -a
echo "a" | sed -e 's/[\d001-\d008]//g'
O resultado é um erro:
sed: -e expressão #1, char 18: fim de intervalo inválido
Mas se eu executar o seguinte arquivo .sh:
#!/bin/sh
set -a
echo "a" | sed -e 's/[\d001-\d008]//g'
Ele roda sem erro. O segundo código não deveria ser equivalente ao primeiro? Por que o erro no primeiro?