首页 文章

Zsh查找权限被拒绝 - 应用程序已保存状态

提问于
浏览
0

每当我在zsh中使用find命令时,如果我从用户级别运行它,它总是输出特定的权限被拒绝消息(除了找到的任何路径)例如:

$ find "/Users/usr" -name "Python.gitignore"

/Users/usr/Dropbox/Programming/Git/gitignore/Python.gitignore
find: /Users/usr/Library/Saved Application State/com.bitrock.appinstaller.savedState: Permission denied

但如果它在 /Users/usr 的任何子目录上运行( Users/usr/Library 除外),它按预期工作:

$ find "/Users/usr/Dropbox" -name "Python.gitignore"

/Users/vivekjha/Dropbox/Programming/Git/gitignore/Python.gitignore

什么是"Saved Application State"?如何在运行 find 时阻止输出此错误消息?

2 回答

  • 0

    如果要隐藏find命令中的所有权限错误消息,可以直接将其stderr重定向到/ dev / null

    find "/Users/usr" -name "Python.gitignore" 2> /dev/null;
    

    但是,您可能会隐藏其他所需的错误消息,因此您可以通过以下方式将其过滤掉:

    find "/Users/usr" -name "Python.gitignore" 2>&1 | grep -v ": Permission denied$"
    
  • 0

    而找到的替代方法是使用zsh globbing . 以下内容很可能会返回您想要的结果 .

    $ print -l /Users/usr/**/Python.gitignore(N)
    

相关问题