所以我正在尝试使用 sh (Bourne Shell) 来编写一些脚本。我一直陷入这种困惑。对于以下内容:
1. rm `echo test`
2. echo test | rm
我知道反引号是用来先运行命令的,好吧。但是对于#2 中的管道,为什么 rm 不将 test 作为参数呢?管道有什么我不明白的地方吗?我认为它只是将一个命令的输出作为另一个命令的输入发送。
而且...可能与我的管道混乱有关。
dir=/blah/blar/blar
files=`ls ${dir} -rt`
count=`wc -l $files` # doesn't work, in fact it's running it along with each file that exists
count2=`$files | wc -l` # doesn't work
为什么我不能将 ls 存储到“文件”中并使用它?