por que a palavra-chave export não funciona no segundo cenário?

0

Considere os seguintes comandos:

export set value=7
echo $value
export set value=70|echo $value

Agora, a saída que recebemos:

7

7

No entanto, não deveria ser 70 no segundo caso.

alguém poderia explicar o que estou perdendo.

    
por frp farhan 20.12.2016 / 20:41

1 resposta

3

Todo comando em um pipeline é executado em seu próprio shell, então você está executando export set value=70 em uma subshell que não pode modificar o pai, então echo $value não vê a tentativa de alterar o valor.

Além disso, para shells POSIX set não é necessário para atribuir a uma variável, você pode fazer apenas export value=70

    
por 20.12.2016 / 20:45