Nie "nazywaj jak chcesz" tylko polecenia systemowe to polecenia systemowe a nie polecenia powłoki. To są dwie różne rzeczy (najczęściej, ale to nie pora na wątki poboczne). Rozumiem, że można się pomylić w przypadku echo, bo pod tym symbolem może znajdować się polecenie powłoki i systemu. Ale find
? To jest oddzielny byt.
Co do Pythona pisałem o tym, że funkcje typu os.remove
to funkcje Pythona a nie wywołania systemowe. W taki przypadku nie dość, że system może zachować się różnie, to jeszcze Python może zachować się różnie. W przypadku bashowego rm
najczęściej potrzebujesz wiedzieć jak działa rm
. Gdyby funkcja os.remove
zachowywała się jak wywołanie systemowe, nie rzucałaby wyjątkami Pythona. Przykład https://docs.python.org/3/library/os.html
Remove (delete) the file path. If path is a directory, an IsADirectoryError is raised. Use rmdir() to remove directories. If the file does not exist, a FileNotFoundError is raised.
This function can support paths relative to directory descriptors.
On Windows, attempting to remove a file that is in use causes an exception to be raised; on Unix, the directory entry is removed but the storage allocated to the file is not made available until the original file is no longer in use
Gdyby Python miałby być tu bardziej przewidywalny, w dokumentacji nikt nie pisałby akapitu o różnicy między systemami.