Odwrotny ukośnik poza cudzysłowami oznacza „interpretuj następny znak dosłownie podczas analizowania”. Ponieważ .jest to zwykły znak dla analizatora składni, \.jest analizowany w taki sam sposób, jak .i wywołuje funkcję wbudowaną .(której sourcesynonimem jest bash).
Jest jeden przypadek, w którym może to zmienić w tym kontekście. Jeśli użytkownik zdefiniował .wcześniej wywołany alias .profilei .profilejest odczytywany w powłoce, która rozwija aliasy (co domyślnie bash robi tylko wtedy, gdy jest wywoływany interaktywnie), wówczas .wyzwala alias, ale \.nadal wyzwala wbudowane, ponieważ powłoka nie próbuje rozszerzenia aliasu na słowa, które były cytowane w jakikolwiek sposób.
Podejrzewam, że .zmieniono to, \.ponieważ użytkownik złożył skargę po utworzeniu aliasu ..
Zauważ, że \.wywołałoby funkcję o nazwie .. Prawdopodobnie użytkownicy piszący funkcje są bardziej kompetentni niż użytkownicy piszący aliasy i wiedzieliby, że przedefiniowanie standardowego polecenia .profilejest złym pomysłem, jeśli zamierzasz dołączyć kod stron trzecich. Ale jeśli chcesz ominąć zarówno aliasy, jak i funkcje, możesz pisać command .. Autor tego fragmentu też tego nie zrobił, ponieważ troszczył się o antyczne muszle, które nie miały commandwbudowanego, lub bardziej prawdopodobne, ponieważ nie byli tego świadomi.
Nawiasem mówiąc, zdefiniowanie dowolnego aliasu .profilejest złym pomysłem, ponieważ .profilejest to skrypt inicjujący sesję , a nie skrypt inicjujący powłokę . Należą do niej aliasy dla bash .bashrc.