gpt4 book ai didi

macos - 操作系统 : tree -I command error opening dir

转载 作者:行者123 更新时间:2023-12-01 09:54:27 31 4
gpt4 key购买 nike

我刚刚用 brew 安装了 tree,当我尝试像这样运行它时(在 python 项目文件夹中):

tree -I *.pyc

返回pyc文件的[error opening dir],例如:

我得到这个运行ls:

a.pyc b.pyc

当我运行 tree -I *.pyc 时,我得到:

b.pyc [error opening dir]

0 directories, 0 files

有什么想法吗?

最佳答案

这不是 tree 的问题,它是 shell (bash) 执行它的文件名扩展 - 也称为 globbing。所以传入 tree 的是 current 目录中以 .pyc 结尾的所有文件名的列表。 -I 选项后只有第一个文件名(a.pyc),其他文件名将被视为目录名。

tree 想要做到它是 own globbing(find 是一样的)所以你必须通过添加引号来保护它免受 shell 的影响:

tree -I '*.pyc'

引号将被 shell 剥离,不会被 tree 看到,它只会看到 *.pyc

在这种情况下,单引号或双引号都可以解决问题,但坚持使用单引号可能更安全,因为其他扩展是在双引号内完成的。

顺便说一句,当您遇到此类问题时,请使用:

set -x

这将在 bash 扩展后显示命令。使用 set +x 将其关闭。这些可以在命令行或脚本中用于调试。

关于macos - 操作系统 : tree -I command error opening dir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250506/

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