gpt4 book ai didi

linux - 为什么它不通过管道传输到 cd 命令?

转载 作者:太空宇宙 更新时间:2023-11-04 06:02:18 25 4
gpt4 key购买 nike

我读到如果你使用 |命令然后它将第一个命令的输出传输到第二个命令的输入,那么为什么它有效?

谢谢!

find -size 1033c | cd

最佳答案

cd 命令不读取标准输入,因此通过管道传输到它的任何内容都将被忽略。

最接近您的命令(字面上)尝试执行的操作是:

cd `find -size 1033c`

...除非您有责任“cd”到一个文件(这将失败!)或者找不到该大小的目录...导致您(默默地)cd-ing到用户的主目录。

而且您的 find 命令缺少要搜索的目录!

<小时/>

根据您的评论,您正在尝试 cd 到包含给定大小的文件的目录。如果我们可以假设只有一个这样的文件,那么以下内容应该有效:

FILE=`find . -size 1033c -type f` 
cd `dirname $FILE`

如果可能有多个匹配项,那么您需要执行类似的操作...应该 cd 到包含第一个匹配文件的目录。

FILE=`find . -size 1033c -type f -print -quit` 
cd `dirname $FILE`

关于linux - 为什么它不通过管道传输到 cd 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57643411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com