unix shell while循环没有看到变量

时间:2016-02-24 20:04:34

标签: linux shell unix

你知道为什么在这个命令中,$x是可见的

ls -d */ $1 | while read x; do echo $x; done

返回当前目录中的子目录。

但是,当我输入另一个命令时,$x似乎没有值

ls -d */ $1 | while read x; do ls -lat /order | grep $x; done

什么都不返回

1 个答案:

答案 0 :(得分:1)

在管道输出结束时有一个/,你应该过滤它。

ls -d */ $1 | while read xx; do ls -l /order |grep `echo ${xx}|sed  's/.$//'`  ; done