Есть ли возможность включить подтверждение для 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 - очень мощная команда, которую нужно очень сознательно выполнять.
Это может помочь вам включить подтверждение.