递归 xattr 失败得可怕

l'L*_*L'l 1 macos bash xcode xattr

我一直在试图找出一种方法来递归删除xattr某些文件的所有内容,但是,以前的方法似乎都不再起作用了;也可能有一个新引入的错误?

$ xattr -rc .
option -r not recognized

$ xattr -c .
option -c not recognized
Run Code Online (Sandbox Code Playgroud)

..现在是大结局!

$ find . -exec xattr -l {} \;
com.apple.FinderInfo:
Traceback (most recent call last):
  File "/usr/local/bin/xattr", line 11, in <module>
    sys.exit(main())
  File "/Library/Python/2.7/site-packages/xattr/tool.py", line 200, in main
    print(_dump(attr_value))
  File "/Library/Python/2.7/site-packages/xattr/tool.py", line 77, in _dump
    printable = s.translate(_FILTER)
TypeError: character mapping must return integer, None or unicode
Run Code Online (Sandbox Code Playgroud)

哦,看它xattr在垃圾中发现了一个……知道如何、什么或谁xattr如此严重地破坏了该工具会很有趣。我只需要递归删除扩展属性,真的!

Gor*_*son 5

您似乎xattr在 /usr/local/bin/xattr 中安装了一个非标准命令(macOS 附带的标准命令是 /usr/bin/xattr)。这些是 Python 错误,所以也许就是这个错误?无论如何,它使用的语法与标准语法不同,因此安装它会引起混淆;我建议将其删除或将其重命名为不同的名称;否则它可能会破坏任何尝试使用xattr.