zipの-x除外オプションが実際にパスを除外しないように見えるのはなぜですか?

zipの-x除外オプションが実際にパスを除外しないように見えるのはなぜですか?

Raspberry PiでRaspbianを使用して/ etcファイルをバックアップしたいのですが、すべてではありません。 /etc/alternativesを除外したかったので、次のコマンドを使用しました。

sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* –x /etc/alternatives/*

なぜこれがうまくいかないのですか? /etcの他のすべてのフォルダと同様に、/etc/alternativesの内容は引き続き含まれます。

これらのバリエーションを試しましたが、どちらも機能しません。

sudo zip -r –x /etc/alternatives/* @ /home/pi/backup/$timestamp/etcfilesall.zip /etc/*
sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* –x /etc/alternatives
sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* –x '/etc/alternatives'
sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* –x '/etc/alternatives/*'

recursive -rオプションでは、zip -h2ヘルプに「パスを含めるか除外するには-iと-xを使用してください」と表示されているので、私がしたいことをサポートする必要があるようです。

ベストアンサー1

問題は、「x」の前の「-」(オプション「-x」の場合)が実際にOP質問のASCIIマイナス記号ではないことです。代わりにUnicode u+2013です(同じように見えますが、動作が異なります)。

コマンドが期待どおりに入力されると、OPの最後の例(ここで変更されています)で期待どおりに機能します。

sudo zip -r /home/pi/backup/$timestamp/etcfilesall.zip /etc/* -x '/etc/alternatives/*'

特定のウェブサイトで切り取り/貼り付けるために発生する問題かもしれません。

追加資料:

おすすめ記事