У меня есть один сценарий оболочки, работающий в среде Windows в среде cygwin. Этот сценарий имеет одну функцию очистки, которая удаляет определенную папку в системе при определенных условиях.
Я готовлю список всех папок, которые я хочу удалить, а затем использую следующую команду:
rm -rfv $purge (where purge is the list of directories I want to delete)
Теперь, когда я протестировал этот скрипт, каталоги вообще не удаляются. Сначала я подумал, что есть проблема со списком очистки, но при отладке я узнал, что список очистки в порядке.
После долгих отладок и испытаний я только что сделал небольшое изменение в команде:
\rm -rfv $purge
Это своего рода удар и испытание, и скрипт начинает работать нормально. Теперь, насколько я знаю, \rm и rm -f означают принудительное удаление.
Теперь, как я могу оправдать это, почему 'rm -f' работало раньше, а '\rm -f' работало. Я хочу знать основную разницу между этими двумя командами.