「--」という名前のディレクトリを削除する方法(単一引用符は名前の一部です)

「--」という名前のディレクトリを削除する方法(単一引用符は名前の一部です)

誤って作成されたスクリプトのため、'--'私のホームディレクトリに(一重引用符を含む)というディレクトリが作成されました。

そのディレクトリに入ると、cdホームディレクトリに戻ります。

このプロジェクトを削除したいのですが、どうすればいいかわかりません。ディレクトリ名の一部またはすべての文字をエスケープして返しますNo such file or directory

Linuxバージョン

Linux version 5.11.0-1022-aws (buildd@lgw01-amd64-036) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #23~20.04.1-Ubuntu SMP Mon Nov 15 14:03:19 UTC 2021

ベストアンサー1

あなたの場合、実際には名前の一部として引用符があるので、次のことができます。

rm -r \'--\'

または

rmdir \'--\'

より一般的なケースでは、引用符が名前の一部ではないため、-名前がオプション(次に始まる)のように見えることも処理する必要があります。この場合、古典的なアプローチは次のとおりです。

  1. オプションが次から始まってもオプションとして解析されないように、オプションの終わりを示すために--使用されます。---

     rmdir -- "'--'"
    
  2. フルパスを使用するか、次を使用します(ただし、シェルから./保護するには名前を引用する必要があります)。'

     rmdir ./"'--'"
    
  3. GNUの使用find:

     find . -name "'--'" -delete
    
  4. 他のものを使用してください。パールのように:

     perl -e "rmdir(\"'--'\")"
    

上記のすべての内容は、ディレクトリが空であると仮定しています。そうでない場合は、次のいずれかを使用してください。

rm -r ./"'--'"

または

rm -r -- "'--'"

おすすめ記事