回答:
以下 xttar
コマンド 属性名と対応する値の両方が表示されます(存在する場合)。
xattr -l file
また使用することができます ls
コマンド :
ls -@ file
それは言った、 ... No such xattr: com.apple.quarantine
メッセージは致命的ではないメッセージです。つまり、メッセージを条件付きにする必要はまったくありません。 com.apple.quarantine
拡張属性 与えられたファイル内の多数のファイルから同時に ディレクトリ それから cd
ターゲットへ ディレクトリ そして次のものを使う コマンド :
for f in *; do xattr -dr com.apple.quarantine "$f" 2>/dev/null; done
上記のワンライナーは削除します com.apple.quarantine
拡張属性 それを持っているすべてのファイルをオフにして、あたかもディレクトリの内容全体が再帰的にも指定されているかのように振る舞うので(ディレクトリツリーの中のすべてのファイルが作用されるように)、 -r
オプション ターゲットを持たないファイルについてはエラーを表示しない 拡張属性 。 (それこそが 2>/dev/null
します。)
特定の拡張属性の存在をテストする直接的な方法はありません。あなたの場合は、
file=/path/to/file
attr=attribute
何かをする
if [[ $(xattr "$file") = *$attr* ]]; then
xattr -d $attr "$file"
fi
または、ワンライナーとして
[[ $(xattr "$file") = *$attr* ]] && xattr -d $attr "$file"