Ich suche nach einer Lösung als Antwort auf "rm: schreibgeschützte reguläre Datei entfernen [x]?"
Ich habe darüber nachgedacht, in bashrc eine Figur zu veröffentlichen, der mehrere Male ein Wagenrücklauf folgt. Wie machen wir das?
bash
command-line
rm
Iancovici
quelle
quelle
Antworten:
Bearbeiten basierend auf aktualisierter Frage:
Fügen Sie die
-f
Option ("force") hinzu, um zu vermeiden, dass Sie zum Entfernen von Dateien aufgefordert werden :Dies hat einen Nebeneffekt, den Sie beachten sollten: Wenn einer der angegebenen Pfade nicht vorhanden ist, wird dies nicht gemeldet und es wird erfolgreich zurückgegeben:
Ursprüngliche Antwort:
Hier ist eine einfache Lösung:
yes
Wiederholt jede Zeichenfolge, die Sie eingeben, unendlich, durch Zeilenumbrüche getrennt.head
stoppt es nach einiger$number
Zeit undtr
übersetzt die Zeilenumbrüche in Zeilenumbrüche. Möglicherweise wird aufgrund der Wagenrückläufe keine Ausgabe angezeigt, die Übergabe an diesen Befehl (inbash
) sollte dies jedoch veranschaulichen:Benutzer ohne
bash
Dosenrohr das Ergebnisod
,hexdump
oderxxd
die tatsächlichen Zeichen zurückgegeben , um zu sehen.quelle
Das andere Problem, auf das ich von Zeit zu Zeit
rm
gestoßen bin, istrm -i
das folgende:In diesem Fall können Sie entweder
unalias rm
oder Sie können diesen Trick, den ich vor Jahren herausgefunden habe, verwenden, indem Sie einen Backslash vor einen Befehl setzen, der mit einem Alias versehen wurde, um den Alias nur einmal zu ignorieren. Beispiel:Sie können mehr über Aliase in einem Artikel bei Nixcraft erfahren .
quelle
rm
ist fest codiert, um "interaktiv" (Eingabeaufforderung wartet auf Benutzereingabe) nach schreibgeschützten Dateien zu fragen. Es gibt zwei Methoden, um zu verhindern, dassrm
gefragt wird:und
(beide funktionieren auch ohne
-r
beim löschen von dateien statt dirs)Erläuterung:
-f
bewirktrm
, dass "nicht vorhandene Dateien und Argumente ignoriert werden, niemals aufgefordert wird".--interactive=never
tut was es sagt: Sei niemals interaktiv. mit anderen worten: nie auffordern.Der Unterschied zwischen
-f
und--interactive=never
ist dieser Teil: "Ignoriere nicht vorhandene Dateien und Argumente".vergleichen Sie:
und
Der Unterschied ist vor allem dann interessant, wenn Sie Skripte schreiben, bei denen Sie nie
rm
interaktiv sein möchten, aber dennoch Fehler behandeln möchten.Zusammenfassung: In der Befehlszeile verwenden
rm -rf
. in Skripten verwendenrm -r --interactive=never
.Eine Antwort auf die angegebene Frage ("Wie Sie vermeiden, dass beim Entfernen einer geschützten Datei mehrmals ein" y "ausgegeben werden muss") finden Sie unter https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line / 338860 # 338860
quelle
gib einfach allen deinen Befehlen ein Ja!
Wie auch immer, Sie können immer zwingen, mit
-f
:quelle
Ich bin auch auf dasselbe Problem gestoßen. Die obige Antwort gilt nur für eine Datei, aber wenn Sie viele Ja ignorieren möchten.
Sie können verwenden
um alle schreibgeschützten regulären Dateien zu entfernen
quelle