Em traço , cada comando em Pipelines executar em subshell ( zsh
e AT & T ksh
, o comando mais à direita em pipelines doesn 't ), então as variáveis X
e Y
não existem mais quando o comando é feito.
Simplesmente, você pode usar Expansão de Parâmetros , tente:
$ set -- foo:123
$ X=${1%:*}
$ Y=${1#*:}
O exemplo é usado para sessões interativas.
Dentro do seu script, você não precisa de set -- foo:123
.