如下所示,命令替换改变了引用的命令行参数的解释。引擎盖下发生了什么,是否有解决方法?
$ cat dumpargs.sh
#! /usr/bin/env bash
for i in "$@"
{
echo "$i"
}
$ cat testfile.txt
'1 space' '2 space'
$ ./dumpargs.sh $(cat testfile.txt) ## produced undesired output
'1
space'
'2
space'
$ ./dumpargs.sh '1 space' '2 space' ## produces desired output
1 space
2 space