Wie würden Sie einen Ordner namens * in / aus Bash löschen?

Wie würden Sie einen Ordner namens * in / aus Bash löschen?

Nehmen wir an, ich hätte einen Ordner mit *dem Namen /. Ich weiß, dass allgemeine Befehle wie rm -rf * nicht funktionieren. Irgendwelche Hilfe?

Antwort1

verwenden Sie diesen kurzen Befehl:

rm /\*

Antwort2

Sie können Argumente in einfache Anführungszeichen setzen, um eine Verarbeitung durch die Shell zu verhindern.

rm -r '/*'

Testen Sie es sicher mit ls(in Ordnern, die Dateien enthalten):

$ ls '*'
ls: *: No such file or directory

In diesem Fall würden doppelte Anführungszeichen ebenfalls funktionieren, aber wenn ein $Argument beteiligt wäre, würden sie es nicht tun, da die Shell davon ausgehen würde, dass es sich um eine Variable handelt:

$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory

Für GNU können Sie vor den Dateinamen rmauch Argumente hinzufügen , um zu verhindern, dass diese als Argumente analysiert werden. Auf diese Weise können Sie benannte Dateien problemlos löschen.---rf

verwandte Informationen