管道的问题

管道的问题

我放音乐的目录下,只有以个文件夹--许巍
我想通过管道的方式直接进入此目录
ls -l | grep "*d" |cd
这样显示出来的是目录的详细信息。要只提取许巍,可能还要用awk和sed了
所以,我暂时用以下命令测试了下,
ls | grep "许巍“ |cd
这样,显示出来的就只有许巍了,但怎么还进不去呢?不解
照理说,许巍已经通过管道传递给了cd 了啊?
这样试试:
cd `ls | grep "许巍“ `

ls | grep "许巍“ |cd
这样确实不行,具体原因我也讲不出来,等我查查看,可能与管道运行机制有关
试过了,不行,
直接把ls |grep "许巍"当目录名了,

本来我想免去输入汉字的麻烦,看来这样,还是免了,呵呵。
如果用第一种方法,还要提取文本,更麻烦,看来我还是乖乖的
cd 许巍
更方便些,
但我只有这样一个目录,这样进去确实有些不甘。
不会吧,我的怎么行,你看清楚了是反引号,不是单引号!
cd `ls | grep "许巍“`
cd 又不从 stdin 读取目标目录,管道当然不行……
[quote:3ccf5bcfc6="wolf0403"]cd 又不从 stdin 读取目标目录,管道当然不行……[/quote]

同意。 man cd
其中有一段:
STDIN
       Not used.

INPUT FILES
       None.
恩,不错
呵呵,
cd ${ls | grep "许巍“}
看来得恶补下了。不然shell编程都忘完了
谢谢,楼上的所有兄弟
${} 么?难道是 csh? BASH 下面应该是 $() 吧。
`command`
$(command)
命令替换