Bestätigung für Befehle mit Force-Flag aktivieren

Bestätigung für Befehle mit Force-Flag aktivieren

Gibt es eine Option, um die Bestätigung dafür zu aktivieren rm -rf? Wir hatten einen Alias ​​dafür eingerichtet, rm=rm -isodass jedes Mal, wenn wir eine Datei löschen, eine Bestätigung angefordert wird. Wenn jedoch das Flag -f angegeben ist, wird keine Bestätigung angefordert.

Gibt es also eine Option, um eine Bestätigung für rm(oder rm -r) einen Befehl mit Force-Flag anzufordern, der für rm -fund rm -rfBefehle gilt?

Antwort1

Klingt, als ob Sie die Überprüfung der Parameter deaktivieren oder erzwingen möchten. Sehen Sie sich Folgendes an:Safe-RModer erstellen Sie einen Alias ​​mit einer Funktion (wieHier).

Antwort2

rm -rf ist ein sehr mächtiger Befehl, bei dessen Ausführung Sie sehr vorsichtig sein müssen.

Dies kann Ihnen beim Aktivieren der Bestätigung hilfreich sein.

http://www.howtogeek.com/183690/enable-the-confirmation-when-deleting-files-and-folders-using-the-rm-command-in-ubuntu/

Antwort3

Problem behoben, bei dem beim RM-Befehl mit dem Flag –f eine Bestätigung angefordert wurde. Verschiedene Löschfälle getestet und es funktioniert.

Sie können das folgende Skript zur .bashrc-Datei hinzufügen.

rm() {
     if [[ $* == -rf* ]]; then
           shift 1;
           command rm -rfi "$@" | more
     elif [[ ${@: -1} == -rf* ]]; then
           command rm "$@" -rfi | more
    else
           command rm -i "$@"
    fi
}

Bitte stellen Sie sicher, dass kein Alias ​​für rm festgelegt ist. Andernfalls wird beim Ausführen der Quelle .bashrc ein Fehler angezeigt.

Dies funktioniert, wenn wir –rf sowohl am Anfang als auch am Ende angeben, wie folgt, und es funktioniert auch für Dateien (also ist der Alias ​​rm=rm-i nicht erforderlich).

[root@localhost ~]# mkdir test
[root@localhost ~]# rm -rf test
rm: remove directory ‘test’? 
[root@localhost ~]# rm test -rf
rm: remove directory ‘test’? 
[root@localhost ~]#

verwandte Informationen