Назад | Перейти на главную страницу

Включить подтверждение для команд с флагом силы

Есть ли возможность включить подтверждение для rm -rf . У нас был псевдоним для rm=rm -i поэтому всякий раз, когда мы удаляем файл, он запрашивает подтверждение, но когда указан флаг -f, он не запрашивает подтверждения.

Так есть ли возможность запросить подтверждение для rm (Или rm -r) команда с флагом силы, предназначенная для rm -f и rm -rf команды?

Похоже, вы хотите отключить или принудительно проверить параметры. Взгляни на сейф-rm или создайте псевдоним с функцией (например, Вот).

Исправлен запрос подтверждения для команды rm с проблемой флага –f. Протестировал различные случаи удаления и работает.

Вы можете добавить следующий сценарий в файл .bashrc.

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

Убедитесь, что псевдоним для rm не установлен, иначе при выполнении исходного файла .bashrc мы получим ошибку.

Это работает, когда мы даем –rf как для первого, так и для последнего, как показано ниже, а также для файлов (поэтому нет необходимости в псевдониме rm = rm-i)

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

rm -rf - очень мощная команда, которую нужно очень сознательно выполнять.

Это может помочь вам включить подтверждение.

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