Jakiś czas temu przeczytałem (nie mogę znaleźć odnośnika), że użycie takiego aliasu alias rm="rm -i"
było bardzo złe.
Czy istnieją dowody historyczne lub rozsądne wyjaśnienie tego faktu?
Wyobrażam sobie, że daje to użytkownikowi zły nawyk polegania na monicie potwierdzenia w celu sprawdzenia jego polecenia, co może prowadzić do katastrof, jeśli zrobi to na innym profilu, który nie ma aliasu.
Odpowiedzi:
Masz rację.
Jest źle, ponieważ przyzwyczajasz się do tego. Jeśli korzystasz z systemu, który go nie ma, a Ty
rm
natychmiast zaczyna się usuwać i zastanawiasz się, co się dzieje.Wielu użytkowników jest przyzwyczajonych do SSH w różnych systemach; więc używanie wielu różnych systemów, czasem bez skonfigurowanych spersonalizowanych kont użytkowników (w tym aliasów), jest dość powszechne.
Zamiast tego użyj np.
alias rmi='rm -i'
I naucz się go używać. Jeśli nie jest to skonfigurowane w innym systemie, nie usunąłeś przypadkowo plików i zawsze możesz wrócić do wpisania pełnego polecenia.źródło
Jak powiedział @Daniel, nie jest to samo w sobie szkodliwe, poza szkoleniem, jak można się spodziewać. W rzeczywistości jest to domyślna konfiguracja na CentOS (i, jak sądzę, przez rozszerzenie RHEL - minęło dużo czasu, odkąd użyłem jednej) maszyny, i jest to ogromny ból w tuchusie . Przez resztę czasu na tym koncercie pisałem / bin / rm, aby uniknąć konfiguracji „Linux dla osób, które nie powinny mieć dostępu do roota”.
źródło
Myślę, że dużym niebezpieczeństwem jest to, że ludzie mogą polegać na czymś takim, aby filtrować glob. Wyobraź sobie, że chcesz usunąć niektóre obrazy z katalogu, ale nie wszystkie:
Możesz użyć tego do ręcznego filtrowania globu, co byłoby całkowicie rozsądne. Ale jeśli byłeś aliasowany i używałeś
rm
i zdarzyło Ci się wylądować w skorupce bez tego aliasu i wypróbować go ... właśnie usunąłeś wszystkie swoje zdjęcia, ups!Osobiście uważam również, że ten alias jest szkodliwy dla mojego ciśnienia krwi;). Ale to tylko ja.
źródło
Oprócz tego, co powiedział Daniel Beck, znalazłem się przy
-f
omijaniu-i
, co jest potencjalnie niebezpieczne, ponieważ skutkuje użyciemrm -f
irm -rf
niepotrzebnie. Jakoś spokrewniony: sposobem na uniknięcierm -rf
problemów jest utworzenie pliku o nazwie „-i”, jak wyjaśniono w odpowiedzi na to pytanie: Jak zapobiec przypadkowemu rm -rf / *? .Ale znowu, jeśli nie byłoby tego aliasu, nie użyłbym -f, a cała sprawa nie będzie problemem.
źródło
Jest to o wiele mniej szkodliwe, w oparciu o moje doświadczenie w pracy z setkami użytkowników w przeszłości:
rm
w innym kontekście, w którym brakowało tej funkcji lubrm -i
aliasu.rm
pozostaje nietknięta, co pozostawia inne programy niezrażone.Styl kodu jest w większości kompatybilny z SH (z wyjątkiem użycia
echo .... | tr -d '\012'
w powłokach poprzedzających bash), nie krępuj się, aby tworzyć własne bardziej specyficzne dla bash. Nie publikuję, aby udostępnić sam kod, ale podzielić się wrażeniami użytkownika związanymi z nim.źródło
rm -i
historycznie (z mojego doświadczenia z posiadaniem setek użytkowników) skutkuje to błędnym usunięciem pliku, a dołączona funkcja wyszkoliła użytkowników do używania poprawnych symboli wieloznacznych, obniżając poziom błędu.rm -i
Rozwiązałem więc dręczące mnie najważniejsze problemy i podałem rozwiązanie dla wygody, a sam fakt, że punkty kulkowe znajdują się pod funkcją, nie przeszkadza im być germańskim.