Como l0b0 disse , é improvável que o seu .bashrc funcione com errexit
set, mas você poderia cuidar dessa situação testando:
case $SHELLOPTS in
(*errexit*) set +e;
export MYVAR=$(my_dubious_command 2>/dev/null);
set -e
;;
(*) export MYVAR=$(my_dubious_command 2>/dev/null)
;;
esac
O comando export
, conforme escrito, deve retornar 0, no caso de qualquer comando subseqüente verificar $?
; você não está fornecendo nenhuma opção inválida para ele, o nome da variável é válido e você não está exportando uma função inexistente.
A instrução case verifica se errexit
está definido; Em caso afirmativo, ele desliga temporariamente para executar my_dubious_command
.