Na verdade, export
também não é necessário. export
significa que:
Marks each NAME for automatic export to the environment of subsequently executed commands. If VALUE is supplied, assign VALUE before exporting.
Você pode expor a variável de ambiente com o seguinte esquema de comando:
FOO=bar dtach -c /tmp/a-socket env
Ele não causará um efeito colateral no qual o próximo processo filho (assim executado) herdará a variável de ambiente FOO=bar
.
Comentando sua primeira execução, tente. Não faz sentido adicionar o operador &&
entre a configuração da variável de ambiente e a execução do processo. Não executa nada (código de saída == 0
) e, em seguida, executa seu comando sem variável de ambiente.