考虑以下情况:
$ echo "abc" > file
$ var=$(< file)
$ echo "$var"
abc
在命令替换中,我们使用了重定向和文件,并且文件的内容被变量正确捕获。
但是,以下所有示例均不产生输出:
$ < file
$ < file | cat
$ < file > file2
$ cat file2
在所有这些情况下,命令的内容都不会重定向到输出。
那么,为什么将重定向放在命令替换中时会有所不同呢?在命令替换块内部和外部时,重定向是否具有不同的功能?