Não, não deve, por causa da maneira como bash
operar o comando .
Quando você digita echo one|name
, bash
analisa o comando, trata |
como um token de pipe, portanto |
executa pipeline.
Quando você digita echo $variable
, porque a análise de token ocorre antes da expansão da variável, bash
analisando o comando em duas partes, echo
e $variable
. Depois disso, ele executa a expansão de variáveis, expanda $variable
para one|name
. Nesse caso, one|name
é uma string, |
é uma parte da string e não pode ser tratado como um token de pipe (claro, a frase de reconhecimento do token foi feita). A única coisa que pode ser especial se IFS
variable contiver |
, bash
usará |
como delimitador para executar a divisão de campo:
$ variable='one|name'
$ IFS='|'
$ echo $variable
one name